阻止发布非字母数字字符 - PHP

时间:2015-10-18 17:40:56

标签: 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();
}

1 个答案:

答案 0 :(得分:0)

问题已解决:

使用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++;
}