判断字符串是否含有特殊字符
public function check_str($str){
//文件名不包含以下任何字符:”(双引号)、*(星号)、?(问号)、\(反斜杠)、|(竖线)、/ (正斜杠)、 : (冒号)。
//2、文件名不要以空格、句点、连字符或下划线开头或结尾。
//3、不要在文件名中使用表情符号。
//判断是否下划线开头或结尾
$first = (substr($str, 0, strlen('_')) === '_')?true:false; //判断是否以下划线开头
if($first){
return $first;
}
$end = (substr($str, strpos($str,'_')) === '_')?true:false; //判断是否以下划线结尾
if($end){
return $end;
}
//$前要加反斜杠
$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;
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: