2010-03-06 94 views
3

如果您复制并粘贴到HTML页面下面的文本,这种类型的编码的名称是什么?

انوان 

您将在下面的阿拉伯文字:

ا ن و ا ن

我的问题是:

这种类型的编码名称包含数字和散列(#)符号,以及如何在PHP中对其进行解码?

回答

8

这些是... HTML实体(或nitpickers的“数字字符引用”)。

尝试html_entity_decode

例子:

$foo = html_entity_decode('انوان'); 
// gives you the arabic words in $foo 

(如果字符串是ا...您需要申请html_entity_decode两倍的形式(我不知道codaddict的编辑是有效的)。)

+0

wat downvote for? – 2010-03-06 06:52:17

+0

那些不是实体。只有* amp *是一个实体,但是'&'是一个实体引用(它引用实体* amp *)。其余的只是(数字)字符引用。 – Gumbo 2010-03-06 10:17:31

3

这些字符称为HTML entities。基本上,它们是表示字符的更安全方式,如&和其他可能在HTML中有意义的符号。所有字符都有相应的HTML实体。

您可以将它们在PHP中使用html_entity_decode

0

可以使用convert_uudecode()函数解码解码。

<?php 
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`"); //It prints I love PHP! 
echo "\n"; 
echo convert_uudecode('&#1575;&#1606;&#1608;&#1575;&#1606;'); //It prints WU± 
?> 
0

要使用正确的术语:

  • &amp;实体引用引用名为安培的实体。
  • &#1575;字符引用引用Unicode字符集中的字符U + 0627(十进制中的1575)。

这两个引用都是character references,因为它们只引用单个字符。但实体也可以表示不仅仅是一个字符。