请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 2195|回复: 6

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

hanguofeng 楼主

小韩

荣誉管理 手机认证 

帖子
3891
体力
8327
威望
12
发表于 2008-8-20 10:31:16 |显示全部楼层
比如
  1. 中国语言文
复制代码
替换为相应的汉字
  1. 中国语言文
复制代码


urldecode
html_entity_decode
这些都试了

[ 本帖最后由 hanguofeng 于 2008-8-21 12:09 编辑 ]
西部数码顶级域名注册商39元抢注!
xling 

艾克司令

荣誉管理

帖子
4230
体力
14926
威望
90
居住地
广东省 深圳市
发表于 2008-8-20 10:40:15 |显示全部楼层
从网上找了一段:
http://hi.baidu.com/moonelf9989/blog/item/8303b12a2b1b6a2bd52af127.html
  1. function aa($dec){
  2.         $utf = chr(224 + (($dec - ($dec % 4096)) / 4096));
  3.         $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
  4.         $utf .= chr(128 + ($dec % 64));
  5.         return $utf;
  6. }
  7. echo aa(20013).aa(22269);
复制代码

[ 本帖最后由 xling 于 2008-8-20 10:54 编辑 ]
xling.cnblogs.com
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

罗亮

超级版主 手机认证 

帖子
15895
体力
19488
威望
19
居住地
北京市 海淀区
发表于 2008-8-20 10:51:39 |显示全部楼层
  1. <?php
  2. $str = urldecode("中国语言文");
  3. $test = preg_replace('/(\&\#)(\d{5});/mise',"iconv('UCS-2','GBK',pack('H4',dechex(\\2)) )",$str);
  4. echo $test;
  5. ?>
复制代码

使用道具 举报

苦寒竹

管理员

帖子
19776
体力
17935
威望
23
居住地
浙江省 金华市
发表于 2008-8-20 14:06:29 |显示全部楼层
PHP还未涉及到汉字unicode方面。
ASP的话有AscW()函数

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

得到27721


顺便附上两个小软件:


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

[ 本帖最后由 kuhanzhu 于 2008-8-20 14:07 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
搞IT的穷秀才。

使用道具 举报

一路蹒跚

钻石会员 手机认证 

帖子
3788
体力
8328
威望
7
居住地
山东省 潍坊市
发表于 2008-8-20 15:53:25 |显示全部楼层
Unicode
  1. function u2gbk($str){
  2.   return preg_replace("/\\\u([\da-f]{4})/ie", 'iconv("UCS-2", "gb2312", pack("H4", "\1"))', $str);
  3. }
  4. echo u2gbk('\u793e\u56e2\u65b0\u95fb');
复制代码

[ 本帖最后由 fonqing 于 2008-8-20 15:54 编辑 ]
PHP定制 QQ:31301678

使用道具 举报

海之極

银牌会员 手机认证 

帖子
3751
体力
2803
威望
1
居住地
广东省 广州市
发表于 2008-8-20 16:37:36 |显示全部楼层
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);
}
急需网页设计师和.NET人员

使用道具 举报

hanguofeng 楼主

小韩

荣誉管理 手机认证 

帖子
3891
体力
8327
威望
12
发表于 2008-8-21 12:08:27 |显示全部楼层
谢谢,楼上诸位提供的代码可用,后来者可以参考

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 12:32 , Processed in 0.084375 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部