Expressions régulières

Je travaille sur la modif d'un module.(glossaire)
L'objectif est de transformer en lien un mot entier contenu dans un texte.
J'ai fait le petit bout de code externe suivant et ceci ne fonctionne pas.
Il me met en lien y compris le mot beauté

<?php
$texte="BeAu remplacer beau par autre chose Beau aussi mais pas beauté et beau";
$replace="beau";
echo "$texte<br>";
preg_match_all("#\b$replace\b#i",$texte,$allmatches);
for($i=0;$i<sizeof($allmatches[0]);$i++){
$texte = ereg_replace($allmatches[0][$i],"<a href=\"XXXXXX\">".$allmatches[0][$i]."</a>",$texte);
}
echo "$texte<br>";
?>

Merci d'une idée ou d'une correction

Bonjour,

Le 22 oct. 06 à 12:06, Denis LIMOUZIN a écrit :

Je travaille sur la modif d'un module.(glossaire)
L'objectif est de transformer en lien un mot entier contenu dans un texte.
J'ai fait le petit bout de code externe suivant et ceci ne fonctionne pas.
Il me met en lien y compris le mot beauté

C'est ce que fait le filtre dans :

glossaire.php

il remplace le mot par un lien seulement si le mot est entouré d'un espace avant et après.

par contre il faut visiblement débugguer la version plugin
(en filtre il marche cf http://www.weballergies.com/maladies/spip.php?article4 )

Si tu le veux en filtre tu le mets dans mes_fonctions sinon tu attends que je l'achève en plugin (ou mieux tu le finis :wink: )
--
Webmaster
http://www.allergique.org/ Actualités des allergies

Il semblerait
Si il y a une majuscule au début du mot il ne remplace pas. Idem si il est
en début de phrase (sans blanc devant.
J'ai envoyé directement à Philippe une version pluginisé qui fonctionne sous
ces réserves avec module admin car je n'ai pas d'accès écriture à la
spip-zone

Cordialement
A+

----- Original Message ----- From: "Philippe Auriol" <philippe.auriol@gmail.com>
To: "Denis LIMOUZIN" <denis.limouzin@free.fr>
Cc: <spip@rezo.net>
Sent: Sunday, October 22, 2006 1:20 PM
Subject: Re: [Spip] Expressions régulières

Bonjour,

Le 22 oct. 06 à 12:06, Denis LIMOUZIN a écrit :

Je travaille sur la modif d'un module.(glossaire)
L'objectif est de transformer en lien un mot entier contenu dans un texte.
J'ai fait le petit bout de code externe suivant et ceci ne fonctionne pas.
Il me met en lien y compris le mot beauté

C'est ce que fait le filtre dans :

glossaire.php

il remplace le mot par un lien seulement si le mot est entouré d'un
espace avant et après.

par contre il faut visiblement débugguer la version plugin
(en filtre il marche cf http://www.weballergies.com/maladies/spip.php?
article4 )

Si tu le veux en filtre tu le mets dans mes_fonctions sinon tu
attends que je l'achève en plugin (ou mieux tu le finis :wink: )
--
Webmaster
http://www.allergique.org/ Actualités des allergies