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 :

Problème fonction preg_replace


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut Problème fonction preg_replace
    Bonjours,

    Je cherche a remplace une chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <IMG SRC="http://images.google.ch/intl/fr_ALL/images/images_res.gif" />
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [#img]http://images.google.ch/intl/fr_ALL/images/toto.gif[/#img]
    j'ai une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function change_html(&$texte)
    {
    $texte=preg_replace('`(\<img src="\>)(.*?)(\/>)`i', '[img]$2[/img] ', $texte);
    }
    Voilà je vois pas comment et ou est la faute

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Tu y étais presque. Dans <img src="> pourquoi fermes-tu la balise img ici?

    J'ai retiré les parenthèses capturantes inutiles. Tu devras donc changer $2 par $1. Les <> ne doivent pas être échappés.

    Plus propre encore, et plus généraliste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img\s+src=(?:"|\')([^\'"]*)(?:"|\')\s+/>
    Tient compte d'un nombre variable d'espaces, de simples ou doubles quotes et utilise une classe de caractères négative [^'"], plus efficace.

  3. #3
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut
    super c'est ça merci


    Sinon il faut bien que le met $2 si je met $1 ca donne
    [#img]<img ...>[/#img]

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

Discussions similaires

  1. [RegEx] problème sur la fonction preg_replace pour formatage
    Par medkyl dans le forum Langage
    Réponses: 4
    Dernier message: 06/02/2008, 17h37
  2. [RegEx] Problème de fonction preg_replace
    Par alexmorel dans le forum Langage
    Réponses: 3
    Dernier message: 25/09/2006, 17h48
  3. [RegEx] problème avec preg_replace
    Par carlos20 dans le forum Langage
    Réponses: 6
    Dernier message: 27/10/2005, 10h29
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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