Tom's Guide > Forum > Programmation > [php] Problème avec la fonction preg_replace
Mot :    Pseudo :           
 

Bonjour à tous, :)

Je suis entrain de coder mon site avec un système de news qui utilise une sorte de BBCode (les [et] sont remplacés par des <et> ).

J'ai réussi à faire une fonction pour changer les soulignés, barrés, italique et gras. Mais je suis pour l'email, et j'ai un problème : l'email généré par la fonction rajoute des " et des / dans l'email.

Voici la fonction :

Citation :

$texte = preg_replace('`\<email nom=([\s\S]*?)>([\s\S]*?)</email\>`isU', '<a href=mailto:$1>$2</a>', $texte);



Voici l'email au format Zcode :

Citation :

<email nom="nom@domaine.com">dddd</email>



Et voici le résultat :

Citation :

<a href="mailto:%5C%22nom@domaine.com%5C%22">dddd</a>

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

bonjour,
c'est normal qu'il te prenne les ":
nom=([\s\S]*?)
correspond à
nom="nom@domaine.com"

les " sont compris dedans...
modifie par nom="([\s\S]*?)"

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Salut,

Merci mais mon script ne prend pas en compte la fin du lien : la balise lien reste ouverte jusqu'à la fin du texte....

Répondre à kikong

quelle balise lien?

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Le </a> reste jusqu'a la fin du texte alors qu'il devrait se fermer juste après le lien

Répondre à kikong

donnes un exemple, parce que la je vois pas, dans le résultat que tu donnes:

Citation :

<a href="mailto:%5C%22nom@domaine.com%5C%22">dddd</a>


ca semble bon

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Tom's Guide > Forum > Programmation > [php] Problème avec la fonction preg_replace
Aller à :

Il y a 2166 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens