判断字符串是否含有特殊字符

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;
}
php
本作品采用《CC 协议》,转载必须注明作者和本文链接
无问西东.
Crazy_shark
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!