掲示板などから投稿された文章の中に、あらかじめ決めた禁止語が含まれているかどうか、配列を使って調べるサンプルです。最初に配列$prohibitに禁止語を列挙します。そして、調べる対象の文字列に対して、配列内のデータを順番に1個ずつぶつけていきます。
禁止語が含まれているかどうかは、文字列内における配列データの位置をstrpos()関数で取得し、その返り値によって調べています。もし配列データがなければ返り値は「0」となり、禁止語が含まれていないと判断できます。
<?php header("Content-type: text/html; charset=utf-8"); $prohibit = array("出会い","アダルト","恋愛","無料"); $data1 = "PHPを使うと動的なWebアプリケーションを作れます"; $data2 = "PHPを使うと出会いがあります"; $data3 = "PHPは無料のアダルト向けソフトです"; $findcnt = 0; foreach($prohibit as $data){ if(strpos($data1, $data) > 0){ echo "「{$data}」が見つかりました!<br>"; $findcnt++; } } if($findcnt > 0){ echo "■「{$data1}」の中には禁止語が含まれています!<br><br>"; } else{ echo "■「{$data1}」は問題ありません!<br><br>"; } $findcnt = 0; foreach($prohibit as $data){ if(strpos($data2, $data) > 0){ echo "「{$data}」が見つかりました!<br>"; $findcnt++; } } if($findcnt > 0){ echo "■「{$data2}」の中には禁止語が含まれています!<br><br>"; } else{ echo "■「{$data2}」は問題ありません!<br><br>"; } $findcnt = 0; foreach($prohibit as $data){ if(strpos($data3, $data) > 0){ echo "「{$data}」が見つかりました!<br>"; $findcnt++; } } if($findcnt > 0){ echo "■「{$data3}」の中には禁止語が含まれています!<br><br>"; } else{ echo "■「{$data3}」は問題ありません!<br><br>"; } ?>