Home  >  Article  >  php教程  >  通过正则过滤非法的汉字或字符

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

WBOY
WBOYOriginal
2016-06-06 20:14:091566browse

非法的汉字会影响到显示甚至程序的执行,会出现一些意想不到的结果。所以我们需要过滤这些非法的汉字或字符。 代码如下 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;
}
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn