Php预匹配问题

Php预匹配问题,php,Php,在下面的php preg_match中,如果有人在textarea表单中输入除a-z或0-9以外的任何值,我试图显示一条错误消息。只有用户才能输入字符串和数值。不是,任何php、javascript标记等 if(preg_match("/^[a-zA-Z0-9]+/ ", $wall) != 1) $err[] = "Wrong value"; 因此,如果我把php标记放在表单的开头,那么它会显示错误消息,但是如果我把“一些文本然后键入php标记和另一个值”,那么它不会显示任何错误消息 对不起

在下面的php preg_match中,如果有人在textarea表单中输入除a-z或0-9以外的任何值,我试图显示一条错误消息。只有用户才能输入字符串和数值。不是,<?>任何php、javascript标记等

if(preg_match("/^[a-zA-Z0-9]+/ ", $wall) != 1)
$err[] = "Wrong value";
因此,如果我把php标记放在表单的开头,那么它会显示错误消息,但是如果我把“一些文本然后键入php标记和另一个值”,那么它不会显示任何错误消息


对不起,我的英语不好。(

因为您已使用
^
将表达式设置为检查字符串开头的字母数字字符

如果将其更改为此,将检查字符串中是否有<或>:

if(preg_match("/[<|>]+/ ", $wall))
$err[] = "Wrong value";
if(预匹配(“/[]+/”,$wall))
$err[]=“错误值”;

您可以检查是否有您不想要的字符

if(preg_match("/[^a-zA-Z0-9]/ ", $wall)) {
  $err[] = "Wrong value";
}
您必须锚定开头和结尾,否则他们可以键入
a 35;$@#$$#


另外,结尾不需要
!=1
。没有它,可读性更高。

@tehluz它不工作。。它已成功插入。如果写入--sometext,则php标记,然后是sometext。还必须更改正则表达式。
if( preg_match("/^[a-zA-Z0-9]+$/ ", $wall) ) {
    $err[] = "Wrong value";
}