php中escape unescape的写法
*/ function phpescape( $str ){ $sublen = strlen ( $str ); $restring = "" ; for ( $i =0; $i < $sublen ; $i ++){ if (ord( $str [ $i ])>=127){ $tmps 教程tring=bin2hex(iconv( "utf-8" , "ucs-2" , substr ( $str , $i ,2))); if (! eregi ( "win" ,php_os)){ $tmpstring = substr ( $tmpstring ,2,2). substr ( $tmpstring ,0,2); } $restring .= "%u" . $tmpstring ; $i ++; } else { $restring .= "%" . dechex (ord( $str [ $i ])); } } return $restring ; } 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" , "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 ); } function escape( $str ) { preg_match_all( "/[x80-xff].|[x01-x7f]+/" , $str , $r ); $ar = $r [0]; foreach ( $ar as $k => $v ) { if (ord( $v [0]) < 128) $ar [ $k ] = rawurlencode( $v ); else $ar [ $k ] = "%u" .bin2hex(iconv( "gb2312" , "ucs-2" , $v )); } return join( "" , $ar ); } function unescape( $str ) { $str = rawurldecode( $str ); preg_match_all( "/(?:%u.{4})|.+/" , $str , $r ); $ar = $r [0]; foreach ( $ar as $k => $v ) { if ( substr ( $v ,0,2) == "%u" && strlen ( $v ) == 6) $ar [ $k ] = iconv( "ucs-2" , "gb2312" ,pack( "h4" , substr ( $v ,-4))); } //开源代码phpfensi.com return join( "" , $ar ); }查看更多关于php中escape unescape的写法 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30787