如何使用php将内容表单textarea与数组中的值进行比较?
我想检查文本区域的内容是否包含某些“坏单词”。 我用如何使用php将内容表单textarea与数组中的值进行比较?,php,arrays,post,textarea,Php,Arrays,Post,Textarea,我想检查文本区域的内容是否包含某些“坏单词”。 我用$\u POST['message'] 这是我的文本区: <textarea class="form-control" name="message" placeholder="MESSAGE"></textarea> 为了检查$\u POST['message']的内容是否包含这些坏单词,我想:将$\u POST['message']的所有内容放入一个数组中,并
$\u POST['message']
这是我的文本区:
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
为了检查$\u POST['message']
的内容是否包含这些坏单词,我想:将$\u POST['message']
的所有内容放入一个数组中,并比较这些数组
我在消息后的文本区域[]中尝试:
<textarea class="form-control" name="message[]" placeholder="MESSAGE"></textarea>
但是print\u r()
没有给我任何输出
那么,如何将textarea的内容放入数组
或者:可能还有其他可能实现此目的?您的文本区域将提交一个字符串
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
您还可以过滤唯一的单词,以避免重复迭代
$wordsToCheck = array_unique($wordsToCheck);
之后,您可以将每个textarea单词与badlist进行比较
foreach ($wordsToCheck as $word){
if(in_array($word, $blacklistarray)){
//word is bad
}else{
//it's ok
}
}
我是否正确理解了您的问题?您的文本区域将提交一个字符串
<textarea class="form-control" name="message" placeholder="MESSAGE"></textarea>
您还可以过滤唯一的单词,以避免重复迭代
$wordsToCheck = array_unique($wordsToCheck);
之后,您可以将每个textarea单词与badlist进行比较
foreach ($wordsToCheck as $word){
if(in_array($word, $blacklistarray)){
//word is bad
}else{
//it's ok
}
}
我是否正确理解了您的问题?您的textarea只发送一个字符串值。通过将其包装在一个数组中,您希望实现什么?你仍然会有一个只包含一个元素的数组。你应该循环你的坏单词,然后检查它们是否包含在你从文本区域得到的值中。(我希望,这种天真的做法最终是多么毫无意义,从一开始就很清楚。如果你不让我发布
ass
,那么我将尝试a.s.
或a-s-s
)有很多方法可以将消息作为字符串而不是数组进行过滤。正如@CBroe所说,这完全取决于什么是可接受的,什么是不可接受的。a-s-s
可以接受吗?如果除了完整单词之外的所有内容都可以(因此彼此之间没有空格)您可以将消息作为字符串发布,然后使用php函数explode
并在空格上进行分解。或者还有其他方法。实现这一点的方法有很多。您的textarea只发送一个字符串值。通过将其包装到数组中,您希望实现什么?您仍然拥有一个只包含一个e的数组然后。你应该把你的坏话循环一遍,然后检查它们是否包含在你从文本区域得到的值中。(尽管如此,这种天真的方法最终是毫无意义的,我希望从一开始就很清楚。如果你不让我发布ass
,那么我将尝试a.s.
或a-s-s
)有很多方法可以将消息作为字符串而不是数组进行过滤。正如@CBroe所说,这完全取决于什么是可接受的,什么是不可接受的。a-s-s
可以接受吗?如果除了完整单词之外的所有内容都可以(因此彼此之间没有空格)您可以将消息作为字符串发布,然后使用php函数explode
并在空格上进行分解。甚至还有其他方法。实现这一点的方法有很多。