配列変数の単語をチェックする必要があります。次のようなものが必要です。
$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
}
配列変数の単語をチェックする必要があります。次のようなものが必要です。
$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
}
<?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)
大文字と小文字を区別しない検索が必要なため、配列をループしてすべての要素に関数を適用する必要があります。
<?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";
}
プリント:
タイトルに禁止用語が含まれています
in_array
PHPの利用機能
in_array($title, $banned)