今日のウェブサイト開発では、検索提案を提供することでユーザーエクスペリエンスを大幅に改善できます。たとえば、ユーザーが検索ボックスにキーワードを入力すると、システムは、ユーザーが必要なコンテンツをすばやく見つけるのに役立つ一致する提案をリアルタイムで提供できます。 PHPでは、 StripoS関数の助けを借りてこの関数を簡単に実装できます。
Striposは、初めて弦のサブストリングの位置を見つけるためのPHPの関数です。 STRPOSとは異なり、 STRPOSはケース非感受性です。これは、ユーザーの入力が必ずしもデータベースのケースと厳密に一致するわけではないため、検索提案にとって非常に重要です。
int stripos ( string $haystack , string $needle [, int $offset = 0 ] )
$ haystack :検索する文字列。
$針:見つかるサブストリング。
$ offset :検索が開始された場所を示すオプションパラメーター。
記事のタイトルの配列があり、ユーザーがキーワードを入力するときに、キーワードを含むタイトルをフィルタリングし、提案として表示する必要があるとします。
<?php
// シミュレートされた記事タイトルデータ
$titles = [
"PHP基本のなチュートリアル",
"詳細な理解JavaScript",
"使い方MySQLデータを管理します",
"PHPファイル処理のヒント",
"PHP検索提案機能を実装します",
"m66.net ウェブサイトの開発の例",
"勉強CSSの10ちょっとしたトリック"
];
// 用户の搜索关键词
$keyword = "php";
// 推奨結果の保存
$suggestions = [];
foreach ($titles as $title) {
if (stripos($title, $keyword) !== false) {
$suggestions[] = $title;
}
}
// 出力は結果を示唆しました
if (!empty($suggestions)) {
echo "提案を検索します:<br>";
foreach ($suggestions as $suggestion) {
echo "- <a href=\"https://m66.net/search?q=" . urlencode($suggestion) . "\">$suggestion</a><br>";
}
} else {
echo "関連するコンテンツは見つかりませんでした。";
}
?>
ユーザーが「PHP」を入力すると、出力は次のとおりです。
提案を検索します:
- PHP基本のなチュートリアル
- PHPファイル処理のヒント
- PHP検索提案機能を実装します
各結果は、検索ページにリンクできます。
StripOS関数を介して、簡単な検索提案関数を簡単に実装できます。その利点は、それがケースに依存しない、使いやすいものであり、小さなデータ収集の迅速なフィルタリングに適していることです。もちろん、大規模なデータを処理する場合は、データベースのフルテキストインデックス作成または検索エンジン(ElasticSearchなど)を組み合わせて、パフォーマンスと精度を向上させることをお勧めします。
検索の提案はわずかな機能ですが、ユーザーエクスペリエンスを大幅に改善し、ウェブサイトをより賢く、より思いやりのあるものにすることができます。この記事が、ストリップの実践的なスキルを習得し、より強力で使いやすいPHPアプリケーションを構築するのに役立つことを願っています!