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 :

Remplacer une chaine par un lien sans exploser les balises


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Remplacer une chaine par un lien sans exploser les balises
    Bonjour,

    Je voudrais faire une fonction / un regex pour remplacer certains mots par des liens dans un texte.

    Exemple : Le chat est noir.
    Devient : Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://www.chat.org/">chat</a>
    est noir.

    Je le fais avec un str_replace(), ça fonctionne mais... ça explose mes images. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="chat.png" alt="Une photo de chat" />
    Devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<a href="http://www.chat.org/">chat</a>.png" alt="Une photo de <a href="http://www.chat.org/">chat</a>" />
    ce qui explose toute ma page

    Comment éviter ce problème ? Est-il possible de le faire avec un regex ?

    Merci à vous

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    oui mais avec DOMDocument + regex

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    en relisant la doc sur les regex recursives, je dis optionnel l'usage de dom. mais ça simplifie.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par gene69 Voir le message
    en relisant la doc sur les regex recursives, je dis optionnel l'usage de dom. mais ça simplifie.
    pas besoin de récursivité pour faire ça.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Ok donc pas moyen de faire ça avec un regex et des assertions négatives ?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par yahoowaloo Voir le message
    Ok donc pas moyen de faire ça avec un regex et des assertions négatives ?
    si c'est possible

Discussions similaires

  1. Regex pour remplacer une chaine par un lien
    Par lerorodu51 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/03/2014, 15h52
  2. Remplacer une chaine par une autre
    Par rivsc dans le forum Ruby
    Réponses: 4
    Dernier message: 12/05/2009, 11h25
  3. [RegEx] Remplacer une chaine par un graphique
    Par totof49 dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2009, 17h49
  4. Réponses: 3
    Dernier message: 11/09/2007, 17h58
  5. [Système] Remplacer une chaine par un lien hypertexte
    Par Bisûnûrs dans le forum Langage
    Réponses: 10
    Dernier message: 06/06/2007, 09h34

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