选择语言 :

 Core_Text::unescape

等同js脚本里的unescape函数

null Core_Text::unescape( string $str [, string $encode = string(5) "UTF-8" ] )

参数列表

参数 类型 描述 默认值
$str string $str
$encode string $encode string(5) "UTF-8"
File: ./core/classes/text.class.php
public static function unescape($str, $encode = 'UTF-8')
{
    $encode = strtoupper($encode);
    if ( $encode == 'GBK' || $encode == 'GB2312' )
    {
        $substrStrNum = 2;
    }
    else
    {
        $substrStrNum = 3;
    }
    $str = rawurldecode($str);
    preg_match_all('#%u.{4}|&#x.{4};|&#\d+;|&#\d+?|.+#U', $str, $r);
    $ar = $r[0];
    foreach ($ar as $k => $v)
    {
        if (substr($v, 0, 2) == "%u")
        {
            $ar[$k] = iconv("UCS-2BE", $encode, pack("H4", substr($v, -4)));
        }
        elseif (substr($v, 0, 3) == "&#x")
        {
            $ar[$k] = iconv("UCS-2BE", $encode, pack("H4", substr($v, $substrStrNum, -1)));
        }
        elseif (substr($v, 0, 2) == "&#")
        {
            $ar [$k] = iconv ( "UCS-2BE", $encode, pack ( "n", preg_replace ( '#[^\d]#', '', $v ) ) );
        }
    }

    return join ('', $ar);
}