誰かが「TestING」を検索しても、「testing」と読む必要があります。特定の用語をブロックするために、Web ページ検索に php ファイルを含めています。しかし、すべての単語に各ケースを追加する必要があります。大文字と小文字は関係ないので、簡単な修正はありますか?
<?
$blocked=array('nude','nsfw','xrated');
?>
誰かが「TestING」を検索しても、「testing」と読む必要があります。特定の用語をブロックするために、Web ページ検索に php ファイルを含めています。しかし、すべての単語に各ケースを追加する必要があります。大文字と小文字は関係ないので、簡単な修正はありますか?
<?
$blocked=array('nude','nsfw','xrated');
?>
常にチェックする代わりに物事を行う別の方法は、strtolower
代わりにin_array
この関数を使用することです。
function in_arrayi($needle, $haystack) {
return in_array(strtolower($needle), array_map('strtolower', $haystack));
}
http://us2.php.net/manual/en/function.in-array.php#89256を参照してください。
strtolowerを使用してすべてを小文字にすることができます。
$var1 = "Hello";
$var2 = "hello";
if (strtolower($var1) == strtolower($var2)) {
echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
または、strcasecmp を使用できます。
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
strstr を使用しているため、大文字と小文字を区別しないバージョンであるstristrに置き換えることができます
if(stristr($_GET[q],$term)==false)