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 :

Strip_tags - Sélection d'un élément [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Strip_tags - Sélection d'un élément
    Bonjour,

    J' ai un script très simple en PHP qui permet de sélectionner que les balises images d' une chaine contenant du HTML.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $html = '<html><body><p> <img src="zero.jpg" alt="0"/><img src="un.jpg" alt="1"/><img src="deux.jpg" alt="2"/></p></body></html>';
    $y = strip_tags($html, '<img>');
    echo $y;
    Cependant j' aimlerais bien selectionner uniquement le premier element c' est a dire <img src="zero.jpg" alt="0"/>.

    Je ne sais pas trop comment on fait.

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Je verrais davantage l'utilisation de la class DomDocument et l'utilisation d'une chaîne XPath pour cette recherche.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  3. #3
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Même si (comme l'a mentionné transgohan) il est plus pertinent d'utiliser les classes prévues à ce effet. Je pose quand-même le code à base d'expressions rationnelles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $y='';
    if(preg_match('%<img\s[^>]+>%i',$html,$m))$y=$m[1];
    echo $y;

  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 transgohan Voir le message
    Je verrais davantage l'utilisation de la class DomDocument et l'utilisation d'une chaîne XPath pour cette recherche.
    un getElementsByTagName suffit

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Salut

    Finalement j' ai utilisé le dom
    Voila comment j' ai fais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $html = '<html><body><p> <img src="zero.jpg" alt="0"/><img src="un.jpg" alt="1"/><img src="deux.jpg" alt="2"/></p></body></html>';
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    $body = $dom->getElementsByTagName('img');
    $src = $body->item(0)->getAttribute('src');
    $alt = $body->item(0)->getAttribute('alt');
    echo '<img src="'.$src.'" alt="'.$alt.'"/>';
    Merci pour vos conseils.

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

Discussions similaires

  1. JTree, sélection d'un élément
    Par remayy dans le forum Composants
    Réponses: 1
    Dernier message: 14/12/2006, 10h39
  2. pb dans un drag and drop lors de sélection d'un élément a bouger
    Par WalidNat dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/10/2006, 12h56
  3. [VBA] sélection d'un élément dans une liste
    Par menguygw dans le forum Access
    Réponses: 3
    Dernier message: 26/04/2006, 12h18
  4. Sélection d'un élément dans une combobox
    Par cluis dans le forum IHM
    Réponses: 2
    Dernier message: 17/03/2006, 14h23
  5. Sélection de plusieurs éléments
    Par ti-ben dans le forum Langage
    Réponses: 8
    Dernier message: 04/09/2005, 11h54

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