REGEX: Convertir url...

Discussion dans 'Web, design' créé par Styleman, 26 Novembre 2003.

Statut de la discussion:
Fermée.
  1. Offline
    Styleman Touriste
    Bonjour,

    Voila je fais un système de messagerie interne, et je voudrais que lorsque l'on entre une url, cela convertisse automatiquement en <a href....</a>, mais que si, une url est spécifié en mettant dans le textaera
    Code:
    [LIEN url=http..... ]texte[/LIEN] 
    ça convertisse l'url comme il faut, mais comme, j'ai ces 2 regex, quand je fais
    Code:
     [LIEN url=http://www.gamerz.be ]Texte[/LIEN] 
    J'obtiens sur la page le resultat en html le texte avec comme lien: <a href="<a href=http://www.gamerz.be target=_blank>">

    Enfin, le premier regex converti l'url qu'il y a entre [lien et [/lien]

    Et j'aimerais, que si il y'a présence de ces "balises" le 1er regex ne s'applique pas dessus.

    1er regex: rendre url cliquable:
    Code:
    $texte = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])","<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\" CLASS=\"lien\">\\1://\\2\\3</A>",$texte);
    2eme: remplacer [LIEN] par a href:
    Code:
    $texte = preg_replace('/(\[LIEN url=)([^\]]*)\](.*?)(\[\/LIEN\])/', "<A href='\\2'>\\3</A>", $texte);
    Voila, merci beaucoup de vos réponses :wink:
    Styleman, 26 Novembre 2003
    #1
  2. Offline
    Styleman Touriste
    up? :oops:
    Styleman, 29 Novembre 2003
    #2
  3. Offline
    Tigrou Touriste
    Je pense que ton probleme vient du fait que dans les deux remplacement de saisie de texte tu utilise la balise <a href=...></a>
    Or je ne vois pas pourquoi tu ne te limite pas a placer cette balise dans la 2eme modif de texte...
    c est la modif de [lien] qui devrait introduire la balise <a href=...></a>
    Tigrou, 29 Novembre 2003
    #3
Statut de la discussion:
Fermée.