|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2005 Messages : 25 ![]() |
Bonjour,
J'ai besoin de remplacer tous les liens d'une page, par des éléments paramétrés. Je ne doit prendre en compte que les liens du site (pas de "mailto", pas de liens externes et pas les ancres) Actuellement, j'en suis là : $sPage = eregi_replace("href=\"([^(http)(mailto)(#)])", "href=\"index.php?Action=".cstActGoPage."&Page=".$sSousRep."\\1", $sPage); $sPage=> contient le code HTML de la page source. Visiblement, le pattern "href=\"([^(http)(mailto)(#)])" exclus touts les caractères (et non pas les chaines) contenu dans les chaines que je souhaite supprimer. Pour résumer, je souhaite que mon remplacement s'applique sur les chaines : href="... Et exclu les chaines : href=\"#... href=\"http... href=\"mailto... |
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : décembre 2006 Messages : 109 ![]() |
POSIX ne permet pas les assertions, par contre PCRE oui. les fonctions preg_* ne sont pas tellement plus compliquées, mais beaucoup plus puissantes.
Code :
([^\"]+) veut dire 1 ou plusieurs caractères qui ne sont pas " |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com