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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    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 confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    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 :resolu: (en bas)

  3. #3
    Membre éclairé Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    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 confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    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 :resolu: (en bas)

  5. #5
    Membre éclairé Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    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