选择语言 :

 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
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
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);
}