php

php 过滤非中文,数字,字母的特殊字符

 
代码如下:
 

$str = "?><?》”\"《PHP问答,PHP交流?,12312。 3》《|“:L}{P+_)In thsdff0?><M<>\"s~!@#$%^&*()+_)(*&dsdffsde~!@#¥%……&*5545445()+——)(*&……%¥#@!~ 网站_PHP交流 51ask die我d.(*&^%$#@!!~";
echo $str."<br/>";

echo match_chinese($str);

function match_chinese($chars,$encoding='utf8')
{
$pattern =($encoding=='utf8')?'/[\x{4e00}-\x{9fa5}a-zA-Z0-9,,。 ]/u':'/[\x80-\xFF]/';
preg_match_all($pattern,$chars,$result);
$temp =join('',$result[0]);
return $temp;
}


运行结果:
 
?><?》”"《PHP问答,PHP交流?,12312。 3》《|“:L}{P+_)In thsdff0?>"s~!@#$%^&*()+_)(*&dsdffsde~!@#¥%……&*5545445()+——)(*&……%¥#@!~ 网站_PHP交流 51ask die我d.(*&^%$#@!!~
PHP问答,PHP交流,12312。 3LPIn thsdff0Msdsdffsde5545445 网站PHP交流 51ask die我d

0 个评论

要回复文章请先登录注册