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 :

Suppression balises img [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut Suppression balises img
    Bonjour,

    Je cherche à supprimer toutes les balises "img" présente dans un texte, mais le problème c'est que cela me supprime toutes les balises, et certaines partie de texte

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $text = 'rrrr<strong>hfuhuhuhfue</strong> fffff<img alt="Home" src="/new/sites/all/themes/mon_theme/logo.png">huhuhu fefzzfzezef<br/><strong>dnheudehu</strong>';
    echo "text1: ".$text."<br>";
    $textnew = preg_replace('/<.*img.*>/i',"",$text);
    echo "text2: ".$textnew;
    Cela me renvoie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text1: rrrr<strong>hfuhuhuhfue</strong> fffff<img alt="Home" src="/new/sites/all/themes/mon_theme/logo.png">huhuhu fefzzfzezef<br/><strong>dnheudehu</strong><br>text2: rrrr

    Pouvez-vous m'aider svp ?

    Merci beaucoup

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est tout à fait normal, la regexp va chercher par défaut la plus grande chaine qui correspond au pattern, donc dans ton cas, le "<" de la première balise strong correspond, puis on trouve des caractères quelconques, puis la chaine "img" puis de nouveau plusieurs caractères quelconques jusqu'au ">" de la dernière balise </strong>.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $textnew = preg_replace('/<img[^>]*>/i',"",$text);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  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
    Bonjour,

    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('/<img[^>]*>/i', '', $text);
    Par contre, si tu veux manipuler du HTML, utilise plutôt DOMDocument

    Edit : grillé, mais le conseil sur DOMDocument est toujours valable
    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 Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Nesmontou
    mais le conseil sur DOMDocument est toujours valable
    Oui, tu as raison
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    ca fonctionne, merci beaucoup

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

Discussions similaires

  1. [TIDY] Fermeture balise IMG avec TIDY en JAVA
    Par elitost dans le forum Documents
    Réponses: 1
    Dernier message: 02/09/2005, 16h54
  2. [HTML] [CSS] href et balise img.
    Par Devil666 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 15/06/2005, 17h03
  3. [XHTML][w3c] attribut border de la balise <img>
    Par Sinclair dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/01/2005, 13h35
  4. usage balise <img src ..> dans un fichier inc.
    Par faamugol dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 14h09
  5. balise <img> dans un tableau avec firefox
    Par yannock dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/10/2004, 16h44

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