위대한 탈출 PHP에서 탈출 디코딩 기능을 구현하는 방법

WBOY
풀어 주다: 2016-07-29 08:43:27
원래의
835명이 탐색했습니다.

GB2312 인코딩:

코드 복사 코드는 다음과 같습니다.


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


UTF8 인코딩:

코드 복사 코드는 다음과 같습니다.


function unescape($str){
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i ){
if ($str[$i] == '%' && $str[$i 1 ] == 'u'){
$val = hexdec(substr($str, $i 2, 4))
if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f))
else $ret .= chr( 0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f))
$i = 5;
}
else if ($str[$i] == '%'){
$ret .= urldecode(substr($str, $i, 3)); $i = 2;
}
else $ret .= $str[$i]
return $ret;
위 내용은 대탈출의 내용을 포함하여 PHP에서 대탈출 디코딩 기능의 구현 방법을 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!