yupe\helpers\YText::entitiesToAscii PHP 메소드

entitiesToAscii() 공개 정적인 메소드

public static entitiesToAscii ( $str, boolean | true $all = true ) : mixed
$str
$all boolean | true
리턴 mixed
    public static function entitiesToAscii($str, $all = true)
    {
        if (preg_match_all('/\\&#(\\d+)\\;/', $str, $matches)) {
            for ($i = 0, $s = count($matches['0']); $i < $s; $i++) {
                $digits = $matches['1'][$i];
                $out = '';
                if ($digits < 128) {
                    $out .= chr($digits);
                } elseif ($digits < 2048) {
                    $out .= chr(192 + ($digits - $digits % 64) / 64);
                    $out .= chr(128 + $digits % 64);
                } else {
                    $out .= chr(224 + ($digits - $digits % 4096) / 4096);
                    $out .= chr(128 + ($digits % 4096 - $digits % 64) / 64);
                    $out .= chr(128 + $digits % 64);
                }
                $str = str_replace($matches['0'][$i], $out, $str);
            }
        }
        if ($all) {
            $str = str_replace(["&amp;", "&lt;", "&gt;", "&quot;", "&apos;", "&#45;"], ["&", "<", ">", "\"", "'", "-"], $str);
        }
        return $str;
    }