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 :

Chercher toutes les occurrences d'une chaine dans une autre [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut Chercher toutes les occurrences d'une chaine dans une autre
    Bonjour à tous,

    Mon besoin est le suivant.
    Je dispose d'une chaîne de caractères dans laquelle je cherche à isoler les éléments suivants :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="background-color: #ffff00;">test</span>

    Mon but final est de trouver dans cette chaîne les éléments qui se trouvent surlignés.
    J'ai essayé via la fonction preg_match_all mais je dois dire que je ne comprends pas grand chose aux expressions régulières

    Merci à qui saura m'aider.

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="background-color: #ffff00;">test</span>
    si tu veux ce qui se trouve entre les balises
    <span style="background-color: #ffff00;">test</span>

    regexp : /<span\sstyle="background-color: #ffff00;">(.*?)<\/span>/

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $textoriginal = '<span style="background-color: #ffff00;">test</span> <span style="background-color: #ffff00;">test2</span>';
     
    $regexp='/<span\sstyle="background-color: #ffff00;">(.*?)<\/span>/';
    // l'expression commence par /  le \s pour le caractère espace le \/ pour escaper le / de </span> et fini par /
     
    preg_match_all($regexp,$textoriginal,$output); //mets les resultats (.*?) de la recherche dans un tableau $output
     
    //les valeurs trouvées sont dans $output[1]
    foreach($output[1] as $key=>$val) 
    {
    	echo $val."<br/>";
    }
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut
    Merci beaucoup Patrickbaras. C'est exactement ce que je voulais

    Merci encore du coup de pouce.

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

Discussions similaires

  1. Chercher une chaine dans une chaine
    Par reitsab dans le forum C++
    Réponses: 5
    Dernier message: 25/03/2009, 14h03
  2. remplacer les occurences d'un caractere dans une chaine par un autre
    Par lity7 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/03/2008, 12h02
  3. Tester une chaine dans une chaine
    Par ulysse031 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 26/03/2007, 00h48
  4. chercher caractére d'une chaine dans une chaine
    Par ulysse031 dans le forum Langage
    Réponses: 25
    Dernier message: 21/03/2007, 18h09
  5. Réponses: 2
    Dernier message: 19/10/2005, 15h38

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