Webサイトのコンテンツ管理システムを開発したり、記事を表示したりする場合、記事のキーワードを強調する必要があることがよくあります。これは、ユーザーがより迅速にフォローしている情報を見つけるのに役立ちます。この要件は、PHPのScripos関数を通じて簡単に達成できます。 StripOS関数は、指定された文字列内の別の文字列の位置を見つけるケースに依存しない文字列ルックアップ関数です。これにより、記事のコンテンツを繰り返し、キーワードの場所を見つけ、ハイライトのためにHTMLタグにラップできます。
StripoS関数の基本的な構文は次のとおりです。
stripos(string $haystack, string $needle, int $offset = 0): int|false
$ haystack :検索するターゲット文字列、つまり記事の内容。
$針:見つけるべきサブストリング、つまり強調表示する必要があるキーワード。
$ offset :文字列で検索する場所から、デフォルトは0です。
戻り値:キーワードが見つかった場合、ターゲット文字列のキーワードの位置を返します。見つからない場合、それはfalseを返します。
Striposは症例に依存しないため、キーワードのケースが記事のケースとは異なる場合でも、正常に見つけることができます。
次に、すべての一致するキーワードを見つけて強調表示するパラメーターとして記事のコンテンツとキーワードを採用するPHPを介して関数を書き込みます。
<?php
function highlightKeyword($content, $keyword) {
// キーワードが空であるかどうかを確認してください
if (empty($keyword)) {
return $content;
}
// 使用 stripos キーワードを見つけます,ハイライト
$start = 0;
while (($pos = stripos($content, $keyword, $start)) !== false) {
// 見つかったキーワード位置に挿入します HTML タグを強調表示します
$content = substr_replace($content, "<span style='background-color: yellow;'>$keyword</span>", $pos, strlen($keyword));
// 検索場所を更新します
$start = $pos + strlen($keyword);
}
return $content;
}
$article = "公式ウェブサイトへようこそ!ここ,あなたはさまざまなことを見つけることができます PHP プログラミングチュートリアルとリソース。";
$keyword = "PHP";
$highlightedArticle = highlightKeyword($article, $keyword);
echo $highlightedArticle;
?>
HighlightKeyWord関数:この関数は、 $コンテンツと$キーワードの2つのパラメーターを受信します。関数内で、 StripOSを使用して、記事コンテンツに表示されるすべてのキーワードを見つけ、それらをsubstr_replaceに置き換え、各マッチングキーワードに黄色のバックグラウンドHTMLスパンタグを追加して強調表示を実現します。
ループ検索キーワード: StripOSでキーワードを見つけた後、 Substr_replaceを使用してその場所にHTMLタグを挿入し、キーワードをラップします。次のループでは、現在の位置の次の位置から見上げ続けます。
返された結果:ループ処理後、関数は処理されたコンテンツを返し、すべてのキーワードが強調表示されます。
記事の内容は次のとおりです。
公式ウェブサイトへようこそ!ここ,あなたはさまざまなことを見つけることができます PHP プログラミングチュートリアルとリソース。
私たちが渡すキーワードがPHPである場合、出力の結果は次のとおりです。
公式ウェブサイトへようこそ!ここ,あなたはさまざまなことを見つけることができます <span style='background-color: yellow;'>PHP</span> プログラミングチュートリアルとリソース。
キーワードPHPは、黄色の背景を持つスパンタグでラップされます。ブラウザによってレンダリングされると、ディスプレイ効果が強調表示されます。
必要に応じてスパンタグのスタイルを変更して、さまざまな強調表示効果を実現できます。たとえば、背景色、フォント色、または太字のテキストを変更します。例えば:
$content = substr_replace($content, "<span style='background-color: yellow; font-weight: bold;'>$keyword</span>", $pos, strlen($keyword));
このようにして、ハイライトをより人目を引くものにすることができます。
PHPのScripos関数を通じて、ユーザーエクスペリエンスを改善するために、記事のキーワードを簡単に見つけて強調表示できます。これは、ストリングとHTMLタグをネストするだけで実行されます。複数のキーワードを扱う、さまざまなハイライトスタイルなど、ニーズに応じてさらに拡張および最適化できます。