Destaque o texto de pesquisa no mysql php search

Oi, esse é o script que tenho, funciona bem para pesquisar meu database. Eu tenho um formulário.html onde o usuário insere a palavra-chave em uma checkbox de pesquisa.

Gostaria de destacar o texto de pesquisa no resultado.

Muito Obrigado

form.php

     Search    '','user'=>'','password'=>'','database'=>'')); $searchterm=$db->escapeString($_GET['searchterm']); $result=$db->query("SELECT * FROM BookPage WHERE (PageText) like \"%$searchterm%\" "); if(!$result->countRows()){ echo '

No results were found. Go back and try a new search.

'."n"; } else{ // display search results echo '

Your search criteria returned '.$result->countRows().' results.

'."n"; while($row=$result->fetchRow()){ echo '

Book Id: '.$row['BookId'].'

Page Id: '.$row['PageId'].'

Page Text: '.$row['PageText'].'

'."n"; } } echo '
'; } catch(Exception $e){ echo $e->getMessage(); exit(); } ?>

Tente isso:

 $searchvalue = implode(''.$_GET['searchterm'].'',explode($_GET['searchterm'],$row['PageText'])); echo '

Book Id: '.$row['BookId'].'

Page Id: '.$row['PageId'].'

Page Text: '.$searchvalue.'

'."n";

Você pode usar este código:

 < ?php //$keyword -> keyword to be search in string. //$field -> string contain value to be seach // Returns HTML content with highlighted text function makeHighlighter($keyword, $field) { $i = strripos($field, $keyword); if ($i !== false) { $keyword = str_ireplace($keyword, substr($field, $i, (strlen($keyword))), $keyword); } else { return $field; } $as_unm_split = explode($keyword, $field); $string_hig = ""; for ($i = 0; $i < count($as_unm_split); $i++) { if ($i < count($as_unm_split) - 1) $string_hig.=$as_unm_split[$i] . "" . $keyword . ""; else $string_hig.=$as_unm_split[$i]; } unset($as_unm_split, $keyword, $i); return $string_hig; } echo makeHighlighter("keyword","this is keyword to be match..."); ?> 

O / P

Esta é uma palavrachave para coincidir …
[Nota: “palavra-chave” será em cor VERMELHA]