3

配列変数の単語をチェックする必要があります。次のようなものが必要です。

$banned = array('word1','word2','word3','word4');


if (stristr($title, $banned) !== false) {

    //$title contains a banned word 

}else{

    //$title not contains any word of $banned variable array

}
4

4 に答える 4

2
<?php
$banned = array('word1','word2','word3','word4');

$hit = false;
foreach ($banned as $banned_item)
{
    if (strpos($title, $banned_item) !== false)
    {
        $hit = true;
        break;
    }
}

if ($hit)
{
    // $title contains a banned word
}
else
{
    //$title not contains any word of $banned variable array
}

_

               ************** update1  ************** 

上記のコードでは大文字と小文字が区別されます。コードで大文字と小文字を区別しないようにするには、次のように変更します。

  if (strpos($title, $banned_item) !== false)

に:

  if (stristr($title, $banned_item) !== false)
于 2013-07-22T07:12:13.967 に答える
1

大文字と小文字を区別しない検索が必要なため、配列をループしてすべての要素に関数を適用する必要があります。

<?php

$title = "text WORD3 text";
$banned = array('word1','word2','word3','word4');

$flag = 0;
foreach($banned as $word)
{
    if (stristr($title, $word) !== false) {
        $flag = 1;
        break;//no need to loop further
    }
}

if ($flag == 1)
{
    print "title contains a banned word";
}

プリント:

タイトルに禁止用語が含まれています

于 2013-07-22T07:16:14.633 に答える
-1

in_arrayPHPの利用機能

in_array($title, $banned)
于 2013-07-22T07:08:08.880 に答える