【PHP】複数の特定の文字を含んだテキストかチェックする

複数の特定の文字が含んだ文章かチェックするPHPの処理です。

サンプルコード
<?php

$aryNgWord = ['アホ', '阿呆', 'バカ', '馬鹿'];

$text = 'こんにちは、おバカでアホなユーザーさん。';
str_replace($aryNgWord, '', $text, $count);

if($count > 0){
    echo 'NGワードが '.$count.'個 見つかりました。';
}else{
    echo 'NGワードはありません。';
}
?>
NGワードが 2個 見つかりました。

NGワードを設定した配列を用意し、str_replaceで置き換えた件数を取得します。

str_replaceは$textに配列内の文字が見つかったら第二引数(今回は空白)に置き換える関数ですが、第4引数($count)を設定することで変更された数を取得できます。

利用例としては今回のように、投稿されたテキストの中にネガティブなNGワードがあったら弾きたい場合などで活用できます。

治安の良いサイトを作っていきたいですね。

以上、複数の特定の文字を含んだテキストかチェックする、でした。

PHP