国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

js的escape轉義中文php的轉換函數

2024-09-04 11:48:02
字體:
來源:轉載
供稿:網友

很多時候需要用到js的escape函數來轉換中文字符,可是用js轉換后的字符怎么用php來轉換回來呢,下面我就找到了兩個很實用的函數。

GB2312編碼:

  1. function unescape($str) {  
  2. $str = rawurldecode($str);  
  3. preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);  
  4. $ar = $r[0];  
  5. foreach($ar as $k=>$v) {  
  6. if(substr($v,0,2) == "%u")  
  7. $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));  
  8. elseif(substr($v,0,3) == "&#x")  
  9. $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));  
  10. elseif(substr($v,0,2) == "&#") {  
  11. $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));  
  12. }  
  13. }  
  14. return join("",$ar);  

UTF8編碼:

  1. function unescape($str){  
  2. $ret = '';  
  3. $len = strlen($str);  
  4. for ($i = 0; $i < $len$i++){  
  5. if ($str[$i] == '%' && $str[$i+1] == 'u'){  
  6. $val = hexdec(substr($str$i+2, 4));  
  7. if ($val < 0x7f) $ret .= chr($val);  
  8. else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));  
  9. else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));  
  10. $i += 5;  
  11. }  
  12. else if ($str[$i] == '%'){  
  13. $ret .= urldecode(substr($str$i, 3));  
  14. $i += 2;  
  15. }  
  16. else $ret .= $str[$i];  
  17. }  
  18. return $ret;  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆中县| 库伦旗| 寿宁县| 建昌县| 万州区| 苗栗县| 江西省| 贵德县| 来安县| 临潭县| 北票市| 崇仁县| 新和县| 凯里市| 思南县| 青岛市| 屯留县| 玉树县| 射洪县| 南阳市| 彰武县| 高清| 新兴县| 东宁县| 波密县| 东源县| 曲周县| 洛川县| 镇巴县| 天峻县| 华亭县| 高淳县| 都昌县| 霞浦县| 苏州市| 钟山县| 留坝县| 南涧| 苍山县| 东光县| 定陶县|