首页 > 后端开发 > php教程 > 字符串html实体转换

字符串html实体转换

WBOY
发布: 2016-06-23 14:19:26
原创
869 人浏览过

原字符串:http://www.qdta.cn/xxw/xxInfo.asp?xxlx=旅游热讯&id=12939
想要转换成:http://www.qdta.cn/xxw/xxInfo.asp?xxlx=旅游热讯&id=12939
请问用什么函数?


回复讨论(解决方案)

function unescape($str) {  $str = rawurldecode($str);  preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r);  $ar = $r[0];print_r($ar);  foreach($ar as $k=>$v) {    if(substr($v,0,2) == "%u")      $ar[$k] = iconv("UCS-2","GB2312",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) == "&#") {echo substr($v,2,-1)."<br>";      $ar[$k] = iconv("UCS-2","UTF-8",pack("n",substr($v,2,-1)));    }  }  return join("",$ar);}
登录后复制
登录后复制

function unescape($str) {  $str = rawurldecode($str);  preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r);  $ar = $r[0];print_r($ar);  foreach($ar as $k=>$v) {    if(substr($v,0,2) == "%u")      $ar[$k] = iconv("UCS-2","GB2312",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) == "&#") {echo substr($v,2,-1)."<br>";      $ar[$k] = iconv("UCS-2","UTF-8",pack("n",substr($v,2,-1)));    }  }  return join("",$ar);}
登录后复制
登录后复制


原来要自己写函数呀。只是不明白的是,为何有些要转换成utf-8格式?我是gbk,输出之后,是乱码,我把utf-8改成gbk就输出正常的中文了

有一种方法,直接用JS好了,如

<script language="javascript">code=26053;str = String.fromCharCode(code);document.write(str);</script>
登录后复制
登录后复制

有一种方法,直接用JS好了,如

<script language="javascript">code=26053;str = String.fromCharCode(code);document.write(str);</script>
登录后复制
登录后复制


谢谢,不过这部分需要php处理的。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板