PHP開発では、テキストの段落に特定のキーワードが含まれているかどうかを判断する必要があることがよくあります。この要件は、コンテンツレビュー、自動タグ分類、および単純な検索関数で非常に一般的です。 PHPは非常に実用的な文字列処理機能を提供し、その中にはStripos()が強力なツールです。 foreachを使用すると、複数のキーワードの一致する判断を簡単に実現できます。
StripOS()は、PHPの組み込み関数であり、文字列が最初に別の文字列に表示される場所を見つけます。 strpos()とは異なり、 strpos()はケース非感受性です。見つかった場合、その場所のインデックスが返されます。見つからない場合、 Falseが返されます。
構文は次のとおりです。
stripos(string $haystack, string $needle): int|false
$ haystack :検索するターゲット文字列
$針:探すべきキーワード
複数のキーワードを配列に入れてから、各キーワードをループするためにEachを使用し、 StripOS()を使用してターゲットテキストにこれらの単語が含まれているかどうかを判断できます。
これが完全な例コードです:
<?php
$text = "当社のウェブサイトへようこそ,その他の技術的なチュートリアルについては、行ってください https://m66.net。";
$keywords = ["チュートリアル", "PHP", "勉強", "テクノロジー"];
$foundKeywords = [];
foreach ($keywords as $keyword) {
if (stripos($text, $keyword) !== false) {
$foundKeywords[] = $keyword;
}
}
if (!empty($foundKeywords)) {
echo "次のキーワードを見つけます:\n";
echo implode(", ", $foundKeywords);
} else {
echo "キーワードは見つかりません。";
}
次のキーワードを見つけます:
チュートリアル, テクノロジー
この例では、このプログラムは、テキスト内の2つのキーワード「チュートリアル」と「テクノロジー」の存在を正常に検出しました。このようにして、テキストの段落で興味のあるキーワードをすばやく分析できます。
Stripos()はテキスト全体で一致を検索するため、キーワードフラグメントを含むいくつかの単語が誤解される場合があります。したがって、キーワードをより正確に一致させる場合(単語全体のみを一致させるなど)、正規表現preg_match()と組み合わせて処理できます。しかし、それが単なるラフフィルターである場合、 Stripos()は実用的で効率的です。
foreachでspripos()を使用することは、テキストに複数のキーワードが含まれているかどうかを判断するための簡潔なソリューションです。この方法は、簡単で理解しやすく、高性能であり、ほとんどの基本的なアプリケーションシナリオに適しています。この記事が実際の開発であなたに役立つことを願っています!