首頁  >  文章  >  php教程  >  通过正则过滤非法的汉字或字符

通过正则过滤非法的汉字或字符

WBOY
WBOY原創
2016-06-06 20:14:091530瀏覽

非法的汉字会影响到显示甚至程序的执行,会出现一些意想不到的结果。所以我们需要过滤这些非法的汉字或字符。 代码如下 function normalizeText($text, $length = null){ $text = \Normalizer::normalize($text, \Normalizer::FORM_C); $text = preg_replace

非法的汉字会影响到显示甚至程序的执行,会出现一些意想不到的结果。所以我们需要过滤这些非法的汉字或字符。
代码如下

function normalizeText($text, $length = null)
{
    $text = \Normalizer::normalize($text, \Normalizer::FORM_C);
    $text = preg_replace('/[^\p{L}\p{P}\p{N}\p{S}\p{Zs}]/u', "", $text);
    $text = preg_replace('/^\p{Z}*/u', "", $text);
    $text = preg_replace('/\p{Z}*$/u', "", $text);
    if ($length !== null) {
        $text = mb_substr($text, 0, $length, 'utf-8');
    }
    return $text;
}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn