我试图检查一个数组,看看它是否包含任何特殊字符,一旦它已经发布到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++;
}