escape unescapeのphp下の実現方法
613 ワード
機能 escape($str) { preg_matchall(\\x 80-\xff).|[\x 01-\x 7 f]+/",str,r); $ar = $r[0] foreach($ar) as $k=>$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v) else $ar[$k] = "%u".bin 2 hex(iconv("GB 2312","UCS-2",$v)) } return join('、$ar) } 機能 unescape($str) { $str = rawurldecode($str) preg_matchall("/(?:%u.{4}|.+/“、$str、$r” $ar = $r[0] foreach($ar) as $k=>$v) { if(substr($v,0,2) == "%u「u」 && streen($v) == 6) $ar[$k] = iconv(「UCS-2」、「GB 2312」、pack(「H 4」、substr($v、-4)))); } return join('、$ar) }