我尝试找到一个preg_match来过滤包含 特殊字符的字符串,例如 - 。
但是,字符串本身可以包含特殊字符,但它不应该只是特殊字符。
任何想法如何做到这一点?
如果string只包含特殊字符,则结果应返回true。像
这样的东西if(preg_match('//',$string)) echo $string; //I leave the pattern empty as this is the actual question.
答案 0 :(得分:2)
您需要匹配任何字母数字字符串。
$one= "%^&";
$two = "asd%asd";
function notOnlySpecialChars($str) {
if (preg_match('/[A-Za-z0-9]/', $str)) { //Replaced _ with -
return true;
} else {
return false;
}
}
notOnlySpecialChars($one); //false
notOnlySpecialChars($two); //true