1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
$string = <<< STRING
De ce fait lorsque l'on chercherait "çà", le système mettrait en gras tous les noms qui contiennent
"ca", "ça", "cà", "çà", ... au lieu de ceux qui contiennent uniquement "çà".
STRING;
function highlight($string, $mot) {
$speciaux = array(
'/a/' => '[aäâàá]',
'/c/' => '[cç]',
'/e/' => '[eéèëê]',
'/i/' => '[iïîìí]',
'/o/' => '[oöôòó]',
'/u/' => '[uüûùúµ]',
);
$mot = strtr($mot, 'çñÄÂÀÁäâàáËÊÈÉéèëêÏÎÌÍïîìíÖÔÒÓöôòóÜÛÙÚüûùúµ', 'cnaaaaaaaeeeeeeeeeiiiiiiiioooooooouuuuuuuuu');
$mot = preg_replace(array_keys($speciaux), array_values($speciaux), preg_quote($mot));
return preg_replace('/(' . $mot . ')/i', '<strong>$1</strong>', $string);
}
echo highlight($string, 'ça');
?> |
Partager