IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Convertir uniquement les url en lien [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut Convertir uniquement les url en lien
    Bonjour
    J'ai un texte qui contient un mélange de html (avec des balises "a"), une sorte de bbcode et des "url volantes".
    Il faut que je transformes seulement les url en liens html.
    J'ai essayé avec preg_replace, sauf que ça touche aux liens html existants, sans oublier que parfois dans le bbcode il y a des url et qu'il ne faut pas non plus les toucher.
    Merci de m'aiguiller.

  2. #2
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    je crois qu'il faudrait que tu mettes un bout de ton texte initiale et un exemple de ce que tu voudrais obtenir .. pour y voir plus clair sur ce que tu souhaites
    Quand une réponse vous aide
    Et quand ça marche

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut
    Par exemple ce serait ça :

    Salut bien, blabla
    <br />
    <a href="http://www.ssdd.com">lien</a>
    coucou
    {abracadabra}http://www.pomme.de{/abracadabra}
    hello
    http://www.monsite.fr
    <div>
    au revoir
    </div>
    Et donc il faudrait que les "url volante" tels que "http://www.monsite.fr" dans l'exemple deviennent des lien html :
    Salut bien, blabla
    <br />
    <a href="http://www.ssdd.com">lien</a>
    coucou
    {abracadabra}http://www.pomme.de{/abracadabra}
    hello
    <a href="http://www.monsite.fr">http://www.monsite.fr</a>
    <div>
    au revoir
    </div>
    Le souci c'est de ne pas toucher au reste.

  4. #4
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    <a href="http://www.ssdd.com">lien</a>
    {abracadabra}http://www.pomme.de{/abracadabra}
    http://www.monsite.fr
    Quelle différence il y a encore ces trois liens (surtout les deux derniers) ?

    Quoiqu'il en soit, tu peux te tourner vers ce tutoriel sur les expressions régulières pour résoudre ton problème
    Si tu as déjà fais quelques tests, n'hésites pas à nous les montrer pour qu'on t'aide !
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut
    Merci pour le lien, mais les expressions régulières, ce n'est pas ma tasse de thé.

    Ce n'est pas trois liens, seul le premier en est un.
    La seconde ligne est interprétée par un moteur de bbcode et convertie en lien d'une manière particulière.
    La dernière ligne est une url seule, volante, c'est ces url que j'ai besoin de capter et de transformer en liens html.

    Par exemple là, le fonctionnement du convertisseur url => lien du forum semble nickel, il ne prend en compte que l'url seule.
    <a href="http://www.ssdd.com">lien</a>
    {abracadabra}http://www.pomme.de{/abracadabra}
    http://www.monsite.fr

  6. #6
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Merci pour le lien, mais les expressions régulières, ce n'est pas ma tasse de thé.
    C'est en pratiquant que ça le deviendra rassures toi, c'est moins compliqué qu'il n'y parait.

    Concernant ton problème, il s'énonce simplement : tu veux remplacer toutes les portions de texte qui commencent par "http(s)://" sans rien avant le "http" (hormis un point ou un caractère blanc) en prenant tout ce qu'il y a entre le "http(s)://" et le prochain caractère blanc (espace, tabulation ou retour chariot).
    A voir comment traduire ça par une expression régulière ensuite

    Quelques exemples pour mieux comprendre le fonctionnement (et pour tes tests) :
    blahttp://developpez.com
    http://developpez.combla
    .http://developpez.com
    http://developpez.com.
    mon lien
    {tout}http://developpez.com{/tout}
    http://developpez.com
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 334
    Points : 218
    Points
    218
    Par défaut
    Oui en fait c'est simple.
    Ya plus K.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transformer les mails et urls en liens cliquables
    Par iubito dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 18h59
  2. Afficher uniquement les liens des sites autorisés
    Par diabli73 dans le forum SharePoint
    Réponses: 8
    Dernier message: 03/11/2010, 21h40
  3. [RegEx] Problème pour transformer les url en liens cliquable
    Par AlphaYoDa dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo