私のウェブサイトで「Tales of an Ancient Empire」を検索してみましょう。 データベースで全文検索が行われ、結果が表示されます。私はPHPの検索結果のハイライトスクリプト
function sublinhamos($text, $words) {
// explode the phrase in words
$wordsArray = explode(' ', $words);
// loop all searched words
foreach($wordsArray as $word) {
//highlight
$text = str_ireplace($word, "<span class=\"highlight\">".strtoupper($word)."</span>", $text, $count);
}
//right trows results
return $text;
}
thngyハイライトのこの機能を持っているそれはあまりにも悪くはないが、さがすの用語は、「古代帝国の物語」、str_ireplaceが見つかったときに、既に挿入SPANのそれが遭遇」であるため、ここでの問題はあります検索語から単語を抽出し、SPANタグを分割します。
単語の一部を強調表示するにはハイライトが必要ですが、最小2文字までのすべての単語を強調表示する必要がありますが、これは古いSPANの出会いの問題を除いてすべて良好です。
どのようなアイデアをお願いしますか?あなただけの簡単な操作を行うことができ、すべてのヒットをマークした後
$text = str_ireplace($word, "{{{".strtoupper($word)."}}}", $text, $count);
:このようなあなたは代わりがない(。例えば{{{と}}})検索される一時的な文字列に置き換えることができ
ユーザーが「マーク」を検索する可能性があるため、この問題は解決しない可能性があります。 – mishu
@mishu彼はただ気づいただけです。彼の解決策は、ループではなくアレイをすぐに置き換えることです。私はそれが好きです。 +1 – Flo
それだけでテストした結果、(テスト用に作成された)結果が奇妙で、それにワードマークが付いていて、マークを検索しても出力が壊れていなかったので...これはおそらく... – eduardev