検索対象の文字列に、特定の文字列が含まれるかどうかなどを配列を使ってチェックするためのPHPの書き方を紹介しちゃうよ!
in_array
in_array( A , B )
※Aは文字列、Bは配列
文字列A が 配列B で指定した値のうちいずれかと一致するか検索し、値が見つかればTRUEを、見つからなければFALSEを返却します。
■in_arrayを使用したNGワードチェックプログラムの例
<?php
$ng_word = array('AAA', 'BBB', 'CCC');
$word = 'BBB';
if (in_array($word, $ng_word)) {
echo 'NGワードと一致しました。';
} else {
echo 'NGワードと一致しませんでした。';
}
?>
■出力結果
NGワードが含まれています。
■部分一致の場合の挙動
<?php
$ng_word = array('AAA', 'BBB', 'CCC');
$word = 'BBBBBBB';
if (in_array($word, $ng_word)) {
echo 'NGワードと一致しました。';
} else {
echo 'NGワードと一致しませんでした。';
}
?>
■出力結果
NGワードと一致しませんでした。
配列と完全一致で比較するので、文字列部分一致だとFALSEになるようです。
NGワードチェックとか、メールアドレスのNGドメインチェックなどで便利ですね!