En fait tu veux juste éviter de regarder chaque mot dans ta chaîne de character.
Tu peux utiliser les fonction ereg(), eregi() et plus important ereg_replace() qui te permettra de finallement remplacer ton mot par le lien.
la syntaxe est assez simple :
Tu peux utiliser les fonction ereg(), eregi() et plus important ereg_replace() qui te permettra de finallement remplacer ton mot par le lien.
la syntaxe est assez simple :
Code PHP :
<?php
$mot = meridional;
$pattern = ' '.$mot.' '; // tu cherches le pattern de ton mot précédé et suivi par un espace
$replace = "<a href="..\rumeur.php?p=".$mot."\">".$mot."</a>"
$rumeur = ereg_replace($pattern, $replace, $rumeur);
ça ouvre la chaîne $rumeur, ça cherche une occurence du pattern. C'est une regexp basique, il y a aucun caractère spéciale. Tu veux exactement ton mot, tu tappes exactement ton mot.
Et ensuite à chaque fois qu'il trouve le pattern, il le remplace par quelque chose de ton choix.
De cette façon, tu n'as pas besoin de découper le texte en mot et de comparer ensuite chaque mot. En pratique c'est ce que va faire la fonction mais on peut espérer que ce soit un peu optimisé.
Par contre t'es obligé d'utiliser cette procédure pour tous les mots de ta liste je vois pas trop comment c'est possible autrement.
Plus d'explication.
http://us2.php.net/manual/fr/function.ereg-replace.php
( Si t'as vraiment des gros textes avec des milliers de mots, tu peux essayer de faire une table de hachage, ça réduira déjà le nombre de mot que tu devras vérifier. Mais ça implique que tu fasses tout manuellement sans utiliser ereg et compagnie. )