我正在尝试检查字符串是否包含任何特殊字符,因此我知道在我的脚本中如何处理它。
继承我所拥有的:
if (preg_match('/[^A-Z0-9_@£\$¥èéùìòÇØø\+%&\!"#'\(\)\*,\-\.ÅåÆæߤ:;<=>?¡ÄÖÑܧ¿äöñüà€ΓΔΘΛΞΠΣΦΨΩαβγδεζηθικλμνξοπρστυφχψωςέάόίώύήϊϋΐΰΆΈΊΉΌΎΏXΥΡΟΝΜΚΗΖΕΙΤΑΧΒ\^\{\}\\\[~\]\|\/ \n\r]/',$message)) {}
但是我收到以下错误syntax error, unexpected T_NS_SEPARATOR
。
答案 0 :(得分:1)
你忘记了一些逃脱:
if (preg_match('/[^A-Z0-9_@£\$¥èéùìòÇØø\+%&\!"#'\(\)\*,
^-start string ^---end string
由于这是整个模式的'
引用字符串,因此模式必须内的所有'
都会被转义。
答案 1 :(得分:0)
您可以将所有字母数字字符与字符串进行比较,以检查是否有任何特殊字符:
$temp = '$tack0verflow_';
if(strlen($temp) == strlen(preg_replace("/[^a-zA-Z0-9]+/", "", $temp))){
// No special characters
} else {
// Has special characters
}