html数字转换成中⽂,#开头的html数字字符串(unicode)转换
成汉字
unicode中文对照表杨海伦丽⼈⼝红3.8g正品不掉⾊不沾杯咬唇妆唇膏持久保湿滋润⾮⼩样
如上格式的 html数字字符串 转换成汉字
mb_decode_numericentity($str,[0x0, 0xffff, 0, 0xffff],’UTF-8′);
mb_encode_numericentity
mb_decode_numericentity
使⽤的时候注意 转换范围和编码
$aa=”加厚珊瑚绒床垫 学⽣垫被1.5M 1.8⽶单⼈双⼈榻榻⽶海绵床褥褥⼦”;
preg_match_all(‘/(\d+)/’,$aa,$result);
$unistr=””;
foreach ($result[1] as $temp) {
$unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256) ;
}
p(iconv(‘UCS-2BE’, ‘utf-8’, $unistr));
function p($argss)
{
echo ‘
’;
print_r($argss);
}
其它⼀些知识
形如——
dddd;
hhhh;
name;
——的⼀串字符是 HTML、XML 等 SGML 类语⾔的转义序列(escape sequence)。它们不是「编码」。
以 HTML 为例,这三种转义序列都称作 character reference:
前两种是 numeric character reference(NCR),数字取值为⽬标字符的 Unicode code point;以「」开头的后接⼗进制数字,以「」开头的后接⼗六进制数字。
后⼀种是 character entity reference,后接预先定义的 entity 名称,⽽ entity 声明了⾃⾝指代的字符。
从 HTML 4 开始,NCR 以 Unicode 为准,与⽂档编码⽆关。
「中国」⼆字分别是 Unicode 字符 U+4E2D 和 U+56FD,⼗六进制表⽰的 code point 数值「4E2D」
和「56FD」就是⼗进制的「20013」和「22269」。所以——
中国
中国
——这两种 NCR 写法都会在显⽰时转换为「中国」⼆字。
NCR 可以⽤于转义任何 Unicode 字符,⽽ character entity reference 很受限,参见 HTML 4 和 HTML5 中已有定义的字符列表:最后编辑:2015-12-31作者:开⼼乐窝