Ainsi parla Yann Cochard <[EMAIL PROTECTED]>, le 13 février de l'an de
grâce 2005 :
> J'ai tenté ceci :
> '/((<a.*\/a>)|(<.*>)|([^a-zA-Z])(mot1|rosa|mot3)([^a-zA-Z]))/U'
> 
> Ça ne marchait pas (disparition de mots), puis j'ai compris qu'il 
> fallait aussi changer les numéros de $rem[] dans la fonctione mklink.
> Par contre, le caractère qui est après le mot est supprimé, comment 

Celui avant le mot aussi, d'ailleurs.

> faire pour le garder ? Quelle est mon erreur ?

Tu as déjà fait la moitié du boulot en collant les parenthèses.
Maintenant, il faut replacer ce que tu as capturé :

return $rem[4].'<a 
href="glossaire.php?mot='.$rem[5].'">'.$rem[5].'</a>'.$rem[6];

Tant qu'on y est, cette modif' introduit un effet de bord : les mots ne
seront pas traités s'ils sont *au début* ou *à la fin* du texte. Pour
corriger ça, la regex devient :

/((<a.*\/a>)|(<.*>)|([^a-zA-Z]|^)(mot1|rosa|mot3)([^a-zA-Z]|$))/Ui

Le 'i' à la fin la rend insensible à la casse pour qu'un mot au début du
texte (donc commençant par une majuscule) soit pris en compte. Mais du
coup, il faut retraiter les arguments de glossaire.php :

return $rem[4].'<a 
href="glossaire.php?mot='.strtolower($rem[5]).'">'.$rem[5].'</a>'.$rem[6];

Et voilà, là ça devrait marcher…

+++
-- 
   Jacques Caruso |    Administrateur système    | Laissez-vous pousser
[EMAIL PROTECTED] |   Webmaster, jeuxdroles.org  | les dents. Ne marchez
(+33) 493 847 728 | Membre des Minotaures du Sud | pas sur les opossums.
 PGP : 0x41F5C63D |     Membre de Linux-Azur     | Mangez des kiwis.

Linux-Azur :      http://www.linux-azur.org
D�sinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à