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 reguliere, recuper une chaine entre des caracteres specifiques [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut expression reguliere, recuper une chaine entre des caracteres specifiques
    bonjour,

    j'ecris un script pour lire un fichier, ce fichier contient des caracteres placés entre les accolades : { et } .
    J'ai cherche dans les expressions regulieres pour pouvoir recuperer les informations entre les accolades mais je n'ai rien trouvé de bien.

    si vous pouviez me mettre sur la piste

    merci

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    ceci ? : (pattern PCRE)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    donc je devrais ecrire quelque chose qui ressemble a cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $parse = ereg('<<a href="file://\\{([^}]+)\\}>&#39;" target="_blank">\\{([^}]+)\\}>'</a>, Read_Html($file), $resultat);
    ou read_html est une fonction qui lit un fichier.

    je ne comprend pas pourquoi il y a les caracteres < et > et des doubles antislashes. Si tu pouvais m'expliquer un peu

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    comme je te l'ai signalé au passage, c'est un pattern PCRE, pas POSIX, donc il te faudra utiliser preg_match, les regexp PERL (ie du module PCRE) sont plus puissantes et plus performantes que les regexp POSIX ( http://fr.php.net/pcre )

    les < > c'est parce que pour les regexp PCRE, du fait qu'elles peuvent accepter des options ajoutées aux patterns, il faut un délimiteur, les < > servent de délimiteurs...

    ensuite, les accolades sont des meta-caractères pour les regexp PCRE, il faut donc les échapés en ajoutant un \ devant, pour plus de sécurité, et pour éviter que le '\{' ne se transforme en { dans la chaîne finale, j'échappe les \ eux-même, d'où les \\{ et\\} car '\\' devient \ dans la chaîne finale
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    ok merci c'est un peu plus clair maintenant, parceque assimilé tout ce qui concerne les expressions regulieres en une fois c'est assez dur

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/04/2011, 15h30
  2. Réponses: 6
    Dernier message: 05/11/2010, 23h15
  3. Réponses: 2
    Dernier message: 25/02/2010, 13h13
  4. expressions regulieres - interdire une chaine
    Par Pallando dans le forum Langage
    Réponses: 7
    Dernier message: 22/11/2009, 21h28
  5. Réponses: 2
    Dernier message: 31/07/2007, 14h23

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