Aide en Regex [PHP]

Eléphant du PHP | 89 Messages

12 juin 2011, 00:23

Bonjour
Je cherche une expression régulière en php pour trouver 2 chaines de caractères bien spécifique dans une autre chaine.
Voila l'exemple:
"emaildomain":"gmail.com","emailsteamid":"26561197963408296"
Voila les deux chaines de caractères en rouge, sont ceux que je souhaiterais trouver.
Est ce que vous pouvez m'aider?
Cordialement

devlop78
Invité n'ayant pas de compte PHPfrance

12 juin 2011, 02:34

Ce n'est pas clair, si c'est juste pour trouver une chaine de caractère, un strpos() suffira.

Si c'est pour le trouver uniquement dans un contexte, tu peux pour l'email utiliser l'expression régulière des emails et remplacer la partie domaine par ta chaine.

Eléphant du PHP | 89 Messages

12 juin 2011, 10:33

Salut

Les 2 chaines de caractères en rouge changent dynamiquement, et malheureusement pour moi les données ne sont pas sous format xml et je ne peut pas parser.
Je pense que le regex est le seul moyen qui répond à mes besoins.
Ce que je cherche a faire, c'est récupérer ces deux chaines et le placer dans une variable.
Est ce que techniquement c'est faisable :?:

Eléphant du PHP | 209 Messages

12 juin 2011, 12:03

Ça serait pas du CSV ta chaine ?

Tu as essayé str_getcsv http://www.php.net/manual/fr/function.str-getcsv.php ?
--
Eric

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 juin 2011, 12:27

Salut,

A moins qu'il est erreur de recopie c'est pas du csv (la virgule apres gmail.com) :/
Sinon coté expreg tu prend toute le a chaine et tu remplace ce que tu cherche par le motif qui va bien (par exemple pour le domaine tu peut avoir des lettres (des chiffres. ?) et le point.
([[:alnum:]] pour les chiffres / lettre ajoute le point ;) )
Pour les chiffres tu peut utiliser [[:digit:]]

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 209 Messages

12 juin 2011, 15:14

A moins qu'il est erreur de recopie c'est pas du csv (la virgule apres gmail.com) :/
ah oui, tiens...

Dans ce cas, on en sait pas assez : peut-il y avoir des : et des ' entre les " ? peut-t-il y avoir des \" au milieu des " ?
--
Eric

Eléphant du PHP | 89 Messages

12 juin 2011, 16:36

Salut
Je pense avoir trouvé une solution très simple, plutôt que de s'embêter à faire du regex ou autre.
Grâce à la fonction http://php.net/manual/fr/function.json-decode.php
Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 juin 2011, 10:37

salut

je pense que l'on a t'a donné une réponse http://forum.phpdebutant.org/viewtopic.php?id=13802 !!!!

@+
Il en faut peu pour être heureux ......