使用php比较“textarea”中的“单词数组”

时间:2010-08-17 17:33:31

标签: php javascript html

昨天我问了这个问题:Compare array of words to a textarea input with javascript

现在我想用php做同样的事情......

这有什么简单的代码吗?

由于

更新:我想针对数组测试textarea输入,如果找到坏字匹配,则die();

由于

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

$bad_words = array('ring','sarah','chuck');

$intersect = array_intersect(explode(' ', strtolower($_POST['textarea'])), $bad_words);

if(count($intersect)) die('You should wash your mouth out with soap!');

array_intersect将比较两个不同的单词数组并返回两个数组中存在的所有值。因此,如果count($ intersect)不是0(在这种情况下被评估为false),那么你可以存在脚本并输出错误。

答案 1 :(得分:0)

$bad_words = array('first','second','third');

$posted = str_ireplace($bad_words, '****', $posted);

这将用'****'替换坏词

修改

检查字符串中是否存在bad_words中的任何单词:

foreach( $bad_words as $bad ){
 if( stristr($posted, $bad) !== FALSE )
 {
  $contains_bad_words = TRUE;
 }    
}