ホームページ >バックエンド開発 >PHPチュートリアル >センシティブな単語の検索に関する問題
センシティブな単語の検索問題
function transgress_keyword($content){ //不正なキーワードの処理方法を定義します
$keyword = array ('Tomorrow Technology', 'Programming Dictionary', 'Tomorrow Books', 'Tomorrow Software' ); //機密性の高い単語を定義します
$m = 0;
for($i = 0; $i < count ( $keyword ); $i ++) { // に基づいて for ループを実行します配列要素の数
//substr_count を使用して、記事のタイトルとコンテンツにセンシティブな単語が含まれているかどうかを検出します
if (substr_count ( $content, $keyword [$i] ) > 0) {
$ m ++;
}
}
return $m;
}
インターネットから見つけたセンシティブな単語の検索コードですが、$keyword = array('Tomorrow Technology' , 'プログラミング辞書', ' 「明日の本」、「明日のソフトウェア」) を
$keyword = file("f:\mgc\test.txt"); に置き換えた場合、m は常に 0 になります。何が問題なのか聞いてもいいですか? パスとファイルの両方が存在します
print_r を使用して file("f:\mgc\test.txt") を出力することもできます。
-----解決策---------
FILE_IGNORE_NEW_LINES
各配列要素の末尾に改行を追加しないでください
このオプションを追加します。