J'ai fait un test, ca marche bien sauf quand j'ai un mot clé qui compose d'autres mots clé.
J'ai utilisé "ireplace" pour la casse.

Voici mon test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$keywords = array("procede", "le", "Septieme art", "cinema");
$NewKeywords = array("<b>procede</b>", "<b>le</b>", "<b><u>Septieme art</u></b>", "<b>cinema</b>");
$Definition = "[abreviation de cinematographe] Procede qui permet d'enregistrer et de projeter sur un ecran des photographies animees. Septieme art. Salle ou l'on projette des films.";
 
echo $LaDefinition = str_ireplace($keywords, $NewKeywords, $Definition);
et voici ce que j'obtiens
[abreviation de cinematographe] procede qui permet d'enregistrer et de projeter sur un ecran des photographies animees. Septieme art. Salle ou l'on projette des films.
Par exemple pour le mot cle "le", il me le trouve dans "salle" et je ne veux surtout pas. (idem pour "cinema")
J'ai donc essayé de mettre $keywords = array(" procede ", " le ");
Mais ce n'est pas bon, car il peut y avoir des points, virgule etc.... mais pas de lettres par contre.

Donc je pensais peut etre interdire autour les caracteres ascii des lettres et pas les exclamations et blancs.

Avez vous une idée?

Merci d'avance.