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 :

Expression regulière pour réaliser un sommaire


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Designer API
    Inscrit en
    Octobre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Designer API

    Informations forums :
    Inscription : Octobre 2003
    Messages : 280
    Points : 166
    Points
    166
    Par défaut Expression regulière pour réaliser un sommaire
    Bonjour,

    je cherche à réaliser un sommaire en fonction d'une expression régulière qui va m'analyser un texte et en construire le sommaire.(comme un wiki)

    j'ai mes titres et sous-titre, etc.....
    ==Titre1==
    ==Titre2==
    ===ssTitre1===
    ====sssTitre1====
    ====sssTitre2====
    ====sssTitre3====
    .........................
    ===ssTitre2===
    ==Titre3==
    Mon expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $RegEx = '/==+(.*)==+/i';
    Si on utilises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all($RegEx,$chaine,$Results,PREG_PATTERN_ORDER);
    et qu'on affiche le tableau à deux dimensions, j'obtiens
    Titre1(ok), ... mais ssTitre1= et sssTitre== Or moi je veux :
    Titre1, ssTitre1, sssTitre1

    Je ne vois pas ce qui coince dans mon expression régulière.

    Merci.

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Essayes comme ça :

    En gros je lui dis

    1) Prend tout les signes =
    2) Prend tout tant que l'on ne rencontre pas un signe = de nouveau
    3) Vérifie que le pattern 3= le pattern 1, c'est à dire qu'on trouve autant de signe = à la fin de la chaîne qu'il y en a au début.


    Il est toujours préférable, quand on le peut, de dire : prend tout jusqu'a ce caractère -> /([^=]*)/i -> ici prend tout tant que pas =





    Sinon pour rester dans la syntaxe de ta regex, il faut que tu ajoutes le modificateur "ungreedy" (le ? après le .* ) pour la partie centrale :


Discussions similaires

  1. Expression regulière pour relever une URL avec ses paramètres
    Par Immobilis dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/03/2008, 16h52
  2. Expression regulière pour verifier l'heure
    Par Pingva dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 22/12/2007, 01h12
  3. Réponses: 3
    Dernier message: 12/12/2007, 15h35
  4. expression regulière pour un nombre
    Par al3alwa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/11/2007, 15h32
  5. [RegEx] expression regulière pour contrôle d'adresse mail
    Par zit_zit dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 12h03

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