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 :

Fonction qui permet de remplacer les URL d'une variable


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 55
    Points
    55
    Par défaut Fonction qui permet de remplacer les URL d'une variable
    Bonjour,

    Soit $message la variable contenant le message d'une discussion sur un forum.

    Je souhaite créer une fonction (qui sera appliquée à cette variable) qui me permette de remplacer les url par un lien vers l'url en question.

    Par exemple, si au milieu du message, l'internaute a posté l'url http://www.developpez.com/ ; je souhaite que celle-ci se transforme en lien html, c'est-à-dire <a href="http://www.developpez.com/">http://www.developpez.com/</a>.

    Je n'ai pas assez de connaissance en regex pour parvenir à faire ce script seul... Si vous pouviez me fournir un coup de main...

    D'avance merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Si par exemple tu souhaites repérer les URL d'après le http:// :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function($message) {
      $message = preg_replace('!(http://\S+)!i', '<A href="$1">$1</A>', $message) ;
      return $message
    }
    \S+ : une série de caractères "non-blancs", càd différents de l'espace, de la tabulation, du retour chariot, etc.
    i : insensible à la casse
    $1 : texte capturé par les parenthèses de la regex
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, un petit tour dans les sources PHP et hop : http://php.developpez.com/sources/?p...xp#transfolien

    Bon développement
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    @Antoun : Attention, ta balise est en majuscules, or cette syntaxe (le HTML en majuscules) est déconseillée depuis quelque temps

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 55
    Points
    55
    Par défaut
    Merci c'est super

    A bientôt.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/05/2012, 15h03
  2. une fonction qui permet de supprimer les espaces
    Par inayatallah dans le forum Débuter
    Réponses: 5
    Dernier message: 03/01/2010, 17h36
  3. [MySQL] script qui permet de modifier les informations d'une table
    Par mayalet dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/01/2009, 13h31
  4. fonction qui permets de lire un champs d'une table
    Par yayamo dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 12/06/2008, 15h59
  5. Réponses: 1
    Dernier message: 03/07/2007, 09h43

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