/**
* PHP でキーワードをフィルターするには strpos 関数を使用します
* ヘルパーズホーム
*/
//キーワードフィルター機能
関数 keyWordCheck($content){
$content = トリム($content);
//キーワードテキストを読む
//$content = @file_get_contents('keyWords.txt');
// 配列に変換
//$arr =explode("n", $content);
//プログラム内でキーワード配列を直接宣言します
$arr = array('キーワード 1','キーワード 2','キーワード 3','キーワード 4'...);
// トラバーサル検出
for($i=0,$k=count($arr);$i
// 配列要素が空の場合、このループをスキップします
if($arr[$i]==''){
続く;
}
// キーワードが検出された場合は、一致したキーワードを返して操作を終了します
If(@strpos($str,$arr[$i])!==false){
//$i=$k;
return $arr[$i];
}
//キーワードが検出されない場合は false を返します
false を返します;
}
$content = 'ここにキーワード 2 を含む、公開するコンテンツがあります';
// キーワードをフィルタリングします
$keyWord = keyWordCheck($content);
// キーワードが存在するかどうかを判断します
if($keyWord){
echo '投稿したコンテンツにはキーワード ['.$keyWord.'] が含まれています';
}その他{
エコー「おめでとうございます!」キーワードで検出';
// 書き込み操作を実行してリリースアクションを完了できます。
}
// プログラム実行結果:投稿した内容にはキーワード[キーワード2]が含まれています
// プログラムは正常です
PHP でキーワードの配列を宣言すると機能しますが、テキスト ファイルを読み取ると機能しません。
不思議に思ったときに、テキストファイルから読み込んだ内容にスペースや改行が含まれていてフィルタリングされていないことが原因ではないかと考えました。そこで、トラバーサルマッチングにトリム機能が追加されました。
空白を除外するtrim()関数を追加し、実行した後、問題がここにあることが判明しました。
コードをコピーします
/**
* PHP でキーワードをフィルターするには strpos 関数を使用します
* ヘルパーズホーム
*/
//キーワードフィルター機能
関数 keyWordCheck($content){
// 空白を削除します
$content = トリム($content);
//キーワードテキストを読む
$content = @file_get_contents('keyWords.txt');
// 配列に変換
$arr =explode("n", $content);
// トラバーサル検出
for($i=0,$k=count($arr);$i
// 配列要素が空の場合、このループをスキップします
if($arr[$i]==''){
続く;
}
// キーワードが検出された場合は、一致したキーワードを返して操作を終了します
// 今回はtrim()関数を追加しました
If(@strpos($str,trim($arr[$i]))!==false){
//$i=$k;
return $arr[$i];
}
// キーワードが検出されない場合は false を返します
false を返します;
}
$content = '公開するテキストコンテンツは次のとおりです。 。 。 ';
// キーワードをフィルタリングします
$keyWord = keyWordCheck($content);
// キーワードが存在するかどうかを判断します
if($keyWord){
echo '投稿したコンテンツにはキーワードが含まれています'.$keyWord;
}その他{
エコー「おめでとうございます!」キーワードで検出';
// 書き込み操作を実行してリリースアクションを完了できます。
}
php strpos関数の問題3 つの等号を使用します: ===、この要件はより厳密です。値が同じである必要があるだけでなく、true を返すには値の型も同じである必要があります
phpのStrpos関数の問題
3 番目のパラメータは、どこから探し始めるかを意味します~~
しかし、返された結果は完全な文字列に基づいて位置を計算します。
$test = "whello world";
print (strpos($text,"w"));returns 0
print(strpos($text,"w",1));returns 7
http://www.bkjia.com/PHPjc/867247.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/867247.html技術記事 strpos 関数は、機密キーワードをブロックする機能を実装するために PHP で使用されます。strpos キーワードは現在、ネットワーク情報、特にブロックキーワードに関して非常に厳しく規制されています。特に今のWEB2.0時代ではWebサイトの内容が...