PHP判断是否存在特殊符号,可判断中英文及特殊符号混合串。
注意:需要在php.ini中打开php_mbstring。
/**
* 判断是否存在特殊字符,可判断中英文及特殊符号混合串
* 存在返回true
* @param string $str
* @return boolean
*/
function has_special_str($str){
//$前要加反斜杠
$specialChars= "~·`!!@#\$¥%^…&*()()—-_=+[]{}【】、|\\;:;:'\"“‘,./<>《》??,。";
//特殊符号数组
$specialArr=array();
$len= mb_strlen($specialChars,'UTF-8');
for($i=0;$i<$len;$i++){
$specialArr[]=mb_substr($specialChars, $i,1,'UTF-8');
}
//待比较字符串数组
$arr=array();
$len= mb_strlen($str,'UTF-8');
for($i=0;$i<$len;$i++){
$arr[]=mb_substr($str, $i,1,'UTF-8');
}
foreach ($arr as $v){
if(in_array($v, $specialArr)){
return true;
}
}
return false;
}