PHPでは、 StriposとExploitは、ファジー検索関数を実装するために組み合わせて使用できる2つの非常に有用な関数です。 StripOS関数は、ケースに依存しない文字列検索を実行するために使用されますが、エクスプロイトは文字列を配列に分割するために使用されます。これらの2つの関数は、複数のキーワードのファジー検索を効率的に実装できます。
複数のキーワードが含まれているかどうかを確認する必要がある文字列があるとします。キーワードが一致する場合、成功していると見なされます。 Exploreを使用してキーワードを配列に分割し、配列内の各キーワードを反復し、 StripoSを使用してターゲット文字列にキーワードが存在するかどうかを判断できます。
<?php
// 検索する必要があるテキストがあるとします
$text = "いらっしゃいませ m66.net,高品質のサービスを提供しています。";
// 複数のキーワードを設定します
$keywords = "m66.net,品質,仕える";
// 使用 explode キーワードを配列に分割します
$keywordArray = explode(",", $keywords);
// 空の配列を初期化します,マッチングの保存に使用されるキーワード
$foundKeywords = [];
// 各キーワードをトラバースします,使用 stripos ファジー検索を実行します
foreach ($keywordArray as $keyword) {
// 使用 stripos キーワードを見つけます(症例は無感覚です)
if (stripos($text, $keyword) !== false) {
// 見つかった場合,一致するキーワードを記録します
$foundKeywords[] = $keyword;
}
}
// 一致するキーワードの出力
if (!empty($foundKeywords)) {
echo "見つかったキーワードは次のとおりです: " . implode(", ", $foundKeywords);
} else {
echo "キーワードは見つかりませんでした。";
}
?>
ターゲット文字列( $テキスト):これは、検索しているテキストです。この文字列は、キーワード検索が必要なWebページまたは他のテキストのコンテンツであると仮定しましょう。
キーワード文字列( $キーワード):この文字列には、複数のコンマ区切りキーワードが含まれています。
exploit()関数: exploit( "、"、$ keywords)を使用して、キーワード文字列をコンマによる配列キーワードアレイに分割します。
StripOS()関数: StripoSは、ターゲット文字列$テキストに特定のキーワードが含まれているかどうかを確認するために使用されます。含まれている場合は、キーワードの位置インデックスを返します(見つかっていない場合はfalse )。 !== falseが一致するかどうかを確認します。
結果出力:一致するキーワードが見つかった場合、すべてのキーワードがすべて出力されます。見つからない場合、一致するキーワードはありません。
この方法は、次のシナリオで使用できます。
記事のコンテンツ検索:記事コンテンツで複数のキーワードを見つけて、ユーザーが関心のある部分を表示します。
Webページテキスト分析:Webページのコンテンツ内の複数のキーワードを分析して、特定のビジネス用語と技術用語が含まれているかどうかを判断します。
ログ分析:サーバーログで複数のエラーコードまたは警告メッセージを見つけます。
症例感度: StripOSはデフォルトでは症例感受性がありません。ケースに敏感な検索を行う必要がある場合は、 STRPOSを使用できます。
パフォーマンスの向上:多数のキーワードがある場合、キーワード配列の各要素を、スペースや特殊文字の削除など、一致効率を向上させることができます。