Aller au contenu

replace expression reguliere


Sujets conseillés

Posté

bonjour le Hub,

question pour le spécialiste des expressions regulieres alias anonymus :D mais si vous avez la soluce n'hesitez pas, je voudrai et si c'est possible reecrire tous les liens qui se presente ainsi, il ya donc deux variables X et Y

le truc serait de recuper la valeur de Y qui se trouve entre les balises <a...>Y</a>

pour la reutiliser pour remplacer la chaine "index.php?cat=" ci-dessous.

la variable A qui serait a traiter peut contenir plusieurs series de <a...>Y</a>

remplacer tous les tags hrefs

<A class='lienp' href='index.php?cat=X'>Y</A>

par

<A class='lienp' href='Y-X.html'>Y</A>

FL :wacko: rent

Posté

 /<[aA]((?:\s\S+)*)\s+href=(['"]?)index.php\?cat=(.*?)\2((?:\s+\S+)*)\s*>\s*(.*?)\s*</[aA]>/

à transformer en

<a\1 href="\5-\3"\4>\3</a>

note1 : c'est un code pour PCRE et pas pour les EREG Posix

note2: non testé, il y a surement des erreurs, mais ça doit tourner autour de ça et pouvoir te servir de base de réflexion

Posté
 pouvoir te servir de base de réflexion

promis juré j'explique plus rien avec X et Y je passe pour plus intelligent que je ne suis :blink: , Ganf t'imagine meme pas comme c'est du chinois pour moi les expressions regulière :wacko:

Posté

voila un petit exemple pret a l'emploi:

$txt="<A class='lienp' 
href='index.php?cat=Xuu' name='eee'>Lien1</A>
<A class='lienp' href='index.php?cat=X'>Lien2</A>
<A class='lienp' href='index.php?cat=X'>Lien3</A>";
$motif="#(<a.*?href=['\"])[^=]*=([^'\"]*)([^>]+)>([^<]+)#si";
echo preg_replace($motif,'$1$4-$2.html$3>$4',$txt);

j'ai eu la solution sur phpfrance.

http://www.phpfrance.com/forums/ftopic42777.php

Florent

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...