Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检测特殊字符_Php - Fatal编程技术网

Php 检测特殊字符

Php 检测特殊字符,php,Php,我试图检查字符串是否包含任何特殊字符,以便知道在脚本中如何处理它 以下是我所拥有的: if (preg_match('/[^A-Z0-9_@£\$¥èéùìòÇØø\+%&\!"#'\(\)\*,\-\.ÅåÆæߤ:;<=>?¡ÄÖÑܧ¿äöñüà€ΓΔΘΛΞΠΣΦΨΩαβγδεζηθικλμνξοπρστυφχψωςέάόίώύήϊϋΐΰΆΈΊΉΌΎΏXΥΡΟΝΜΚΗΖΕΙΤΑΧΒ\^\{\}\\\[~\]\|\/ \n\r]/',$message)) {} “代码>

我试图检查字符串是否包含任何特殊字符,以便知道在脚本中如何处理它

以下是我所拥有的:

if (preg_match('/[^A-Z0-9_@£\$¥èéùìòÇØø\+%&\!"#'\(\)\*,\-\.ÅåÆæߤ:;<=>?¡ÄÖÑܧ¿äöñüà€ΓΔΘΛΞΠΣΦΨΩαβγδεζηθικλμνξοπρστυφχψωςέάόίώύήϊϋΐΰΆΈΊΉΌΎΏXΥΡΟΝΜΚΗΖΕΙΤΑΧΒ\^\{\}\\\[~\]\|\/ \n\r]/',$message)) {}
“代码>假如(代码>假如(孕)是一场比赛,如果(孕)是一场比赛,那么(代码>码>假如(码>码>码>假如(码>码>码>假如(码>码>码>假如(码>码>码>假如(码>码>码>假如)如果(孕)是比赛,如果(码码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>>>>>假如假如(码>码>码>码>码>码>码>要是要是要是要是要是要是要是要是要是要是要是要是(码>码>码>码>码>>>码>码>码>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>假如假如假如假如假如>>>>>>>>>>>假如>>>>>>>>>>>>>>>>>>>>>>>>>>>(二)ϋΰΈΊΌΌΏΡΜΜΖΒΒΒΒΒΑΒΒΒΒΒΑΒΒΒΒΒΒΒΒΒΒ91
但是,我得到了以下错误
语法错误,意外的T\n\u分隔符

您忘记了一些转义:

if (preg_match('/[^A-Z0-9_@£\$¥èéùìòÇØø\+%&\!"#'\(\)\*,
               ^-start string                  ^---end string

由于这是整个模式的带引号的字符串,因此模式中的所有
都必须转义。

您可以将所有字母数字字符与字符串进行比较,以检查是否有任何特殊字符:

$temp = '$tack0verflow_';

if(strlen($temp) == strlen(preg_replace("/[^a-zA-Z0-9]+/", "", $temp))){
    // No special characters
} else {
    // Has special characters
}

看看代码突出显示。代码突出显示显示错误的位置。因此:
\'/[^A-Z0-9\$]èùêêêêêêêêêêêêêêêêêêêêêê23。