mettre en évidence plusieurs mots clés dans la recherche

je suis en utilisant ce code pour mettre en valeur les mots clés de recherche:

function highlightWords($string, $word)
 {

        $string = str_replace($word, "<span class='highlight'>".$word."</span>", $string);
    /*** return the highlighted string ***/
    return $string;

 }

 ....

  $cQuote =  highlightWords(htmlspecialchars($row['cQuotes']), $search_result);

toutefois, cela met en évidence un seul mot-clé. si l'utilisateur saisit plus d'un mot-clé, il permettra de réduire la recherche, mais aucun mot n'est mis en évidence. comment puis-je mettre plus d'un mot?

Je suis passé à JavaScript pour la recherche syntaxique. Le problème est, qui recherche les valeurs dans les attributs (ou d'une recherche, par exemple, pour <div) briser le balisage sans un travail soigné. En JS c'est un 20-liner garanti sans effets secondaires.

OriginalL'auteur input | 2010-05-03