adatim Posté 9 Mai 2005 Partager Posté 9 Mai 2005 Salut à tous, j'ai un petit soucis avec la fonction ereg_replace ... J'ai besoin de remplacer des balises mais je me retrouve bloqué par un bug que je n'arrive pas à résoudre Un exemple illustrera plus qu'un long discours ... j'ai une variable contenant untexte $montexte="<a href=http://www.google.fr> google</a> et puis un autre pour ne pas faire de jaloux <a href=http://www.msn.fr>msn</a>"; Cette variable que je récupère n'a pas de double quote autours du lien se trouvant dans le href ... je souhaite les rajouter. Je fais donc : $montexte= preg_replace("/<a href=(.*)>(.*?)<\/a>/si", "<a href=\"\\1\"> \\2 </a>", $montexte); le problème c'est que cet appel va me retourner : <a href="http://www.google.fr> google</a> et puis un autre pour ne pas faire de jaloux <a href=http://www.msn.fr"> msn </a> ce qui me fait apparaitre juste msn avec un immense lien dessus en gros mon script prend tout ce que je lui ai donné et s'arrête non pas au premier </a> mais au dernier de la page ! Pourtant le (.*?)<\/a> devrait l'en empêcher ! Alors si quelqu'un a une autre solution merci de me la proposer ca me ferait gagner du temps Lionel Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 9 Mai 2005 Partager Posté 9 Mai 2005 Ton point d'interrogation est 'valable' pour l'expression entre les balises de fermeture et d'ouverture du lien. ( entre </a> et <a.. ) Il faut le rendre valide pour le lien seulement, ce qui donne : $montexte= preg_replace("/<a href=(.*?)>(.*?)<\/a>/si", "<a href=\"\\1\"> \\2 </a>", $montexte); Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
adatim Posté 9 Mai 2005 Auteur Partager Posté 9 Mai 2005 (modifié) Merci me voilà débloqué en moins de 10 minutes et j'avoue que pour un bug de ce genre j'aurais pu cherché longtemps avant de me dire : "Que suis-je bête !!!" En tt cas merci beaucoup Lionel Modifié 9 Mai 2005 par adatim Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant