打印

[php] [解决]php如何进行汉字HTML实体的反转换?

比如
复制内容到剪贴板
代码:
中国语言文
替换为相应的汉字
复制内容到剪贴板
代码:
中国语言文
urldecode
html_entity_decode
这些都试了

[ 本帖最后由 hanguofeng 于 2008-8-21 12:09 编辑 ]
从网上找了一段:
http://hi.baidu.com/moonelf9989/blog/item/8303b12a2b1b6a2bd52af127.html
复制内容到剪贴板
代码:
function aa($dec){
    $utf = chr(224 + (($dec - ($dec % 4096)) / 4096));
    $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
    $utf .= chr(128 + ($dec % 64));
    return $utf;
}
echo aa(20013).aa(22269);
[ 本帖最后由 xling 于 2008-8-20 10:54 编辑 ]
复制内容到剪贴板
代码:
<?php
$str = urldecode("&#20013;&#22269;&#35821;&#35328;&#25991;");
$test = preg_replace('/(\&\#)(\d{5});/mise',"iconv('UCS-2','GBK',pack('H4',dechex(\\2)) )",$str);
echo $test;
?>
博客又挂了
Never give up hope
经典站长联盟QQ群:16719484 PHPERQQ群:85363040

TOP

认证您的手机,获得手机认证图标, 更多手机认证的好处
PHP还未涉及到汉字unicode方面。
ASP的话有AscW()函数

<%a="汉"
response.write AscW(a)
%>

得到27721


顺便附上两个小软件:


复制中国语言文点软件下面的粘贴,然后点软件下面粘贴右边的转换,就会在上面出现汉字。

[ 本帖最后由 kuhanzhu 于 2008-8-20 14:07 编辑 ]
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!
我的淘宝店:http://shop58394963.taobao.com/,中奖也不信
对管理有异议,请前往事务区进行投诉。请勿PM。
Unicode
复制内容到剪贴板
代码:
function u2gbk($str){
  return preg_replace("/\\\u([\da-f]{4})/ie", 'iconv("UCS-2", "gb2312", pack("H4", "\1"))', $str);
}
echo u2gbk('\u793e\u56e2\u65b0\u95fb');
[ 本帖最后由 fonqing 于 2008-8-20 15:54 编辑 ]
承接网站建设,PHP定制开发!QQ:31301678
BI山东群:4398616

TOP

function phpunescape($str) {
         $str = rawurldecode($str);
         preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
         $ar = $r[0];
         foreach($ar as $k=>$v) {
                  if(substr($v,0,2) == "%u")
                           $ar[$k] = iconv("UCS-2","utf-8",pack("H4",substr($v,-4)));
                  elseif(substr($v,0,3) == "&#x")
                           $ar[$k] = iconv("UCS-2","utf-8",pack("H4",substr($v,3,-1)));
                  elseif(substr($v,0,2) == "&#") {
                           $ar[$k] = iconv("UCS-2","utf-8",pack("n",substr($v,2,-1)));
                    }
           }
         return join("",$ar);
}

TOP

谢谢,楼上诸位提供的代码可用,后来者可以参考

TOP