停止非字母数字字符的发布- PHP


Stop non-alphanumeric characters from being posted - PHP

我试图检查一个数组,看看它是否包含任何特殊字符,一旦它已经发布到PHP脚本。如果字符串确实包含特殊字符,我希望显示一个错误,要求用户在继续发布表单之前删除它们。

我遇到的问题是,我的脚本没有检测到特殊字符。

我觉得我在这里错过了显而易见的东西。

如果有人能指点一下,我将不胜感激。

$special = preg_match_all('/[^'da-z]/i', $caption[0]);
if($special !== false){
echo "Make sure you haven't got any special characters in your captions.";
exit();
}

问题解决:

使用foreach循环遍历数组中的每一项,然后通过在while循环中嵌套生成一个键来标识每一项。

$p = 0;
while($p < $imgCount){
foreach($captions as $index => $max){
if (preg_match_all('~[^a-zA-Z0-9's]+~', $max[$p]))
{
  echo 'Remove any special characters from your captions.';
  exit();
}
}
$p++;
}