2011-10-30 4 views
1

からの検索結果を整頓私は、データベース内の各コンテンツフィールドは、テキストのかなりの数の段落が含まれているため$keyword私のユーザーは私のウェブサイト上のコンテンツを検索すると、データベース、PHP

のような検索機能が、正しく作品を実施したが$title, $contentをエコー結果がページに表示されたときにユーザーが読むことが難しくなります。

私は、入力したキーワードを検索して表示された結果で、キーワードの前後にいくつかの文字を切り詰めて強調表示したいのですか?

私はstrposを読んでstrstrがそれを行うべきです。だから私の質問は....次のコードで

さ:

<?php 

foreach ($searchcontent ->result() as $row) 
{ 
echo $title 
echo $content 
} 
?> 

はどうやってキーワードをハイライト表示し、最初に見つかったキーワードのそれぞれの側に文字の数を表示することができます?

+1

グーグル検索keqword'はあなたを助けるでしょう、私は信じています。 –

答えて

2

あなたはこのような何か行うことができます:PHPスクリプトで

$keyword = THESEARCHEDKEYWORD; 
$pattern = "/([^a-z])$keyword([^a-z])/i"; 
$highlight = '<span class="highlight">' . $keyword . '</span>'; 
foreach ($searchcontent->result() as $row) 
{ 
    $title = preg_replace($pattern, "$1$highlight$2", $title); 
    $content = preg_replace($pattern, "$1$highlight$2", $content); 
    echo $title; 
    echo $content; 
} 

をそしてCSSにこのルールを追加: `PHPのハイライトの

.highlight 
{ 
    font-weight: bold; 
    background-color: yellow; 
} 
関連する問題