Bonjour à tous,

Je cherche à créer une fonction "liens automatiques" dont le principe est le suivant:
- Après avoir fait une requête sur la table qui m'intéresse (champs: plats_miam_miam, url_page), en ajoutant l'url correspondante au plat en question (codée en dur dans la requête), j'écris ensuite le tout dans un autre fichier (mots_cles.inc.php) (via fopen, fwrite, etc.) 2 tableaux (à une colonne) :
- un $tab_mot_rechercher qui contient tous les noms renvoyés par la requête (exemple : "Lasagnes au Cheval")
- un $tab_mot_remplacer qui contient les urls des plats préférés correspondant à chaque nom (exemple : "<a href='lasagne-au-cheval.html'>Lasagnes au Cheval</a>")

Puis, à l'affichage d'un paragraphe dans une page je fais un $paragraphe=str_replace($tab_mot_rechercher, $tab_mot_remplacer, $paragraphe);

Evidemment, ça ne marche que pour des cas simples car, dans l'exemple suivant:

J'ai une chaine de caractères, comme le Lanquetot.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$str_tamere = 'Bonjour, je suis un consommateur qui aime bien les lasagnes au cheval!';
J'ai mes deux array:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$tab_mot_rechercher[0]='Lasagnes au Cheval';
$tab_mot_rechercher[1]='Lasagnes'; //oui, il y aussi des lasagnes normales
$tab_mot_remplacer[0]='<a href="lasagnes-au-cheval.html">Lasagnes au Cheval</a>';
$tab_mot_remplacer[1]='<a href="lasagnes.html">Lasagnes</a>';
Pour la première itération dans le str_replace($tab_mot_rechercher, $tab_mot_remplacer, $str_tamere):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$str_tamere = 'Bonjour, je suis un consommateur qui aime bien les <a href="lasagnes-au-cheval.html">Lasagnes au Cheval</a>!';
NICKEL SERIEUX MA GUEULE.

Pour la seconde itération implicite du str_replace:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
$str_tamere = 'Bonjour, je suis un consommateur qui aime bien les <a href="<a href="lasagnes.html">Lasagnes</a>-au-cheval.html"><a href="lasagnes.html">Lasagnes</a>au Cheval</a>!';
Et évidemment, ça affiche n'importe quoi.

En bref: comment exclure l'ensemble du texte à l'intérieur d'éventuelles balises html lors de la recherche/remplace?

Merci!