Lentreprenaute Posté 27 Octobre 2004 Posté 27 Octobre 2004 bonjour le Hub, question pour le spécialiste des expressions regulieres alias anonymus 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 rent
Ganf Posté 27 Octobre 2004 Posté 27 Octobre 2004 /<[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
Lentreprenaute Posté 27 Octobre 2004 Auteur Posté 27 Octobre 2004 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 , Ganf t'imagine meme pas comme c'est du chinois pour moi les expressions regulière
Lentreprenaute Posté 29 Octobre 2004 Auteur Posté 29 Octobre 2004 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant