Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php将内容表单textarea与数组中的值进行比较?_Php_Arrays_Post_Textarea - Fatal编程技术网

如何使用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
并在空格上进行分解。甚至还有其他方法。实现这一点的方法有很多。