在一些帮助之后,我有一个不允许的单词数组,我不能在这里显示,因为它们是淫秽的。
我想要做的是检查if $_POST['urlprefix'] !=
其中一个数组元素,我想知道最简单的方法是什么。显然,下面只会停止数组的一个元素。
感谢您提供的任何帮助
if($_POST['urlprefix'] != $arr[1]) {
print("You've Passed");
} else {
print("You Are Not Allowed To Use That URL Prefix");
}
答案 0 :(得分:1)
in_array()
的示例是实现这一目标的快捷方式。您也可以使用preg_grep
来使用case-insensitive in_array function。
但是,如果 ship 是一个坏词,您是否要允许发送 py ?以下代码也将禁止包含单词的任何前缀。
$disallow = false;
foreach($arr as $bad_word) {
if(stripos($_POST['urlprefix'], $bad_word) !== false) {
$disallow = true;
break;
}
}
if($disallow) {
die('Bad words in URL!');
}
答案 1 :(得分:0)
您可以使用in_array函数:
if (!in_array($_POST['urlprefix'], $arr))
{
print("You've Passed");
}
else
{
print("You Are Not Allowed To Use That URL Prefix");
}
答案 2 :(得分:0)
你可以用这种方式。 in_array
比此方法慢。详细了解array_flip。
$words = array('damn','shit');
$flip = array_flip($words);
if(!isset($flip[$_POST['urlprefix']])){
//valid url
}
答案 3 :(得分:0)
您可以使用php in_array功能。它检查数组中是否存在值
if(!in_array($_POST['urlprefix'], $arr)) {
print("You've Passed");
} else {
print("You Are Not Allowed To Use That URL Prefix");
}