Dictionnaire : remplacer un mot par lien?

Dictionnaire : remplacer un mot par lien? - PHP - Programmation

Marsh Posté le 30-01-2008 à 10:43:09    

Bonjour,
je tente d'améliorer un module (Wordbook) sous le CMS Xoops mais je pense qu'une telle fonction peut avoir son utilité n'importe où; le but du jeu est de remplacer un mot (ou une expression) présente dans un dictionnaire par un lien automatique vers ce mot. Un certain annonceur publicitaire utilise un tel procédé pour afficher des "bulles" adhoc en fonction du mot trouvé.
 
Dans le principe, ce n'est pas bien compliqué : créer une liste de mots existants, vérifier dans le texte si un mot est présent et ajouter le lien vers ce mot. Rien de bien sorcier en théorie.
 
Là où les choses se compliquent sérieusement, c'est lorsqu'il y a, dans le texte à "parser" des tags html qui traînent de ci, de là... et là : souci majeur!!! En effet, si l'un des mots du dictionnaire/glossaire se trouve dans un tag A ou IMG par exemple, ne serait-ce que dans la balise TITLE, voir dans le lien en lui-même, le mot va être invariablement remplacé par son lien si aucun filtrage n'est appliqué.
 
Je recherche donc une solution pour "parser" un texte, trouver les mots présents dans un dictionnaire et EVITER de remplacer le mot par son lien dans les tags html... C'est là ou j'achoppe : filtrer les tags html (ou au moins les A et IMG).
 
S'agissant d'un module d'un CMS open-source, il n'y a aucun secret d'alcôve, voici la fonction déjà créée dans ce fichier : http://www.aquaportail.com/uploads [...] ceterm.zip
J'espère que les habitués de PHP sauront facilement lire ce code (c'est assez simple).
 
Je suis loin d'être un expert en PHP, et si cela se trouve, il existe déjà une routine ou une fonction toute prête pour parser un texte sans les tags html puis les réinsérer ensuite... mais je ne m'en sors pas à ce jour. Un petit coup de main serait le bienvenu. :)  
 
Merci d'avance.
Jef


---------------
Jef - Une passion : l'aquariophilie et l'aquascaping en aquarium d'eau de mer pour un bon maintien des animaux.
Reply

Marsh Posté le 30-01-2008 à 10:43:09   

Reply

Marsh Posté le 30-01-2008 à 13:26:37    

Je pense que tu pourrais essayer de passer par des REGEXP (s'il n'exite rien de tout fait). Tu mettrais dans le critère que tu cherches une chaine sans qu'elle soit entourer de < et >.
Il faudrait qu'un pro des REGEXP passe par là et dise juste si c'est une solution faisable ....


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed