> php教程 > PHP源码 > 본문

escape编码 和 unescape解码

PHP中文网
풀어 주다: 2016-05-25 16:58:28
원래의
1271명이 탐색했습니다.

php代码

function escape($str) {
	$sublen = strlen ( $str );
	$retrunString = "";
	for($i = 0; $i < $sublen; $i ++) {
		if (ord ( $str [$i] ) >= 127) {
			$tmpString = bin2hex ( iconv ( "gb2312", "ucs-2", substr ( $str, $i, 2 ) ) );
			$retrunString .= "%u" . $tmpString;
			$i ++;
		} else {
			$retrunString .= "%" . dechex ( ord ( $str [$i] ) );
		}
	}
	return $retrunString;
}
function unescape($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", "GBK", pack ( "H4", substr ( $v, - 4 ) ) );
		elseif (substr ( $v, 0, 3 ) == "&#x")
			$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 );
}
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿