如何将文本区域的内容与数组中的值进行比较 php?
How to compare content form textarea with values from array with php?
我想检查文本区域的内容是否包含某些 "bad words"。
我用 $_POST['message']
从文本区域读取内容
这是我的文本区域:
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
所有的坏词都在一个数组中:
// read bad words into array
$blacklistfile = 'blacklist/badwords.txt';
$blacklistarray = file($blacklistfile, FILE_IGNORE_NEW_LINES);
为了检查$_POST['message']
的内容是否包含这些坏词,我想:将$_POST['message']
的所有内容放入一个数组中并比较这些数组。
我在消息后的[]文本区试过:
<textarea class="form-control" name="message[]" placeholder="MESSAGE"></textarea>
和:
$usermessage = $_POST['message'];
print_r($usermessage);
但是print_r()
没有输出
那么如何将textarea的内容放到数组中呢??
或者:也许还有其他的可能性来实现这个目标?
您的文本区域将提交一个字符串
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
在服务器上你必须在空格上展开这个字符串才能得到单词数组
$textareaValue = $_POST['message'];
$wordsToCheck = explode(" ",$textareaValue);
您还可以过滤唯一的单词以避免重复迭代
$wordsToCheck = array_unique($wordsToCheck);
之后,您可以将每个textarea单词与badlist进行比较
foreach ($wordsToCheck as $word){
if(in_array($word, $blacklistarray)){
//word is bad
}else{
//it's ok
}
}
我是否正确理解了你的问题?
我想检查文本区域的内容是否包含某些 "bad words"。
我用 $_POST['message']
从文本区域读取内容
这是我的文本区域:
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
所有的坏词都在一个数组中:
// read bad words into array
$blacklistfile = 'blacklist/badwords.txt';
$blacklistarray = file($blacklistfile, FILE_IGNORE_NEW_LINES);
为了检查$_POST['message']
的内容是否包含这些坏词,我想:将$_POST['message']
的所有内容放入一个数组中并比较这些数组。
我在消息后的[]文本区试过:
<textarea class="form-control" name="message[]" placeholder="MESSAGE"></textarea>
和:
$usermessage = $_POST['message'];
print_r($usermessage);
但是print_r()
没有输出
那么如何将textarea的内容放到数组中呢??
或者:也许还有其他的可能性来实现这个目标?
您的文本区域将提交一个字符串
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
在服务器上你必须在空格上展开这个字符串才能得到单词数组
$textareaValue = $_POST['message'];
$wordsToCheck = explode(" ",$textareaValue);
您还可以过滤唯一的单词以避免重复迭代
$wordsToCheck = array_unique($wordsToCheck);
之后,您可以将每个textarea单词与badlist进行比较
foreach ($wordsToCheck as $word){
if(in_array($word, $blacklistarray)){
//word is bad
}else{
//it's ok
}
}
我是否正确理解了你的问题?