Ainsi parla Yann Cochard <[EMAIL PROTECTED]>, le 13 février de l'an de
grâce 2005 :
> 1. Si le mot à remplacer est dans une balise <...>, il est remplacé 
> alors qu'il ne devrait pas.
> 2. Si le mot à remplacer est déjà entre <a> et </a>, il est remplacé 
> alors qu'il ne devrait pas.
> 
> Savez-vous comment faire pour corriger ces 2 problèmes ?

Ça dépend. Je n'ai pas de solution élégante, mais dans le genre « vite
fait », j'ai ça en stock :

function mklink($rem) {
        if ($rem[2] != '')
                return $rem[2];
        if ($rem[3] != '')
                return $rem[3];
        return '<a href="glossaire.php?mot='.$rem[4].'">'.$rem[4].'</a>';
}

echo(preg_replace_callback('/((<a.*\/a>)|(<.*>)|(cactus|chien))/U', 'mklink', 
$texte));


+++
-- 
   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 à