Archives du mot-clef highlight

PHP Highlight

Surligner des mot dans un texte en php

function highLight($words, $str) {
    $highlight = '<strong>$0</strong>';
    $pattern = '#(?!&lt;.*?)(%s)(?![^&lt;&gt;]*?&gt;)#i';
    foreach($words as $word) {
        $word = preg_quote($word);
        $regex = sprintf($pattern, $word);
        $str = preg_replace($regex, $highlight, $str);
    }
    return $str;
}

Utilisation:

$words_to_hl = array('clovis', 'franc');
echo highLight($words_to_hl, 'Tu m\'etonnes que Clovis a eclate tt le monde en son temps, les anciens Francs etaient 655 fois plus nombreux.');

Ce qui nous donne:

Tu m’etonnes que Clovis a eclate tt le monde en son temps, les anciens Francs etaient 655 fois plus nombreux.

Voir ce bout de code en action sur quote de porc.