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 :

preg_match code balise [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut preg_match code balise
    Bonjour,
    je récupere enfaite dans un code source, les données qu'il y a entre 2 balises ... j'ai un probleme , je pense que les balises ne sont pas bien lu et ca doit provoquer un disfonctionnement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $Htest1 = '<h2>';
    $Htest2 = '</h2>';
    preg_match( '/(?<=' . $Htest1 . ').*?(?=' . $Htest2 . ')/', $line , $head);
     
    print_r($head);
    j'imagine que les balises provoques des erreurs dans l'expression réguliere
    voici le message d'erreur

    Warning: preg_match() [function.preg-match]: Unknown modifier 'h' in

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Je pense que ton bug vient du fait que le delimiteur de ton regex est un caractère qui existe dans ta chaine et si tu remplace le / par un ~

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $Htest1 = '<h2>';
    $Htest2 = '</h2>';
    preg_match( '~(?<=' . $Htest1 . ').*?(?=' . $Htest2 . ')~', $line , $head);
     
    print_r($head);
    Je n'ai pas tester le code, mais il doit marcher

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Par défaut
    Et un truc comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match( '#(<h2>)([.*]?)(</h2>)#', $line , $head);
    Je suis pas très doué en regex (c'est pour ça que je viens m'entrainer ^^ )

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut
    effectivement ca ne me met pas d'erreur... mais le tableau retourner est vide....

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut
    HA non ... j'avais pas vu le post de Benji , apriori ca fonctionne

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut
    Il y a une limite de caratere ? pcq quelques fois les balises sont bonne mais le tableau retourner est vide...

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

Discussions similaires

  1. Remplacer code balise 'div' innerHTML.replace
    Par Papipen dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/04/2009, 15h22
  2. [IE 6.0] Plus d'affichage entre les balises [code] [/code]
    Par Trap D dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 20/10/2005, 11h39

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