PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 12-06-2011 00:22:01

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Aide Regex en php

Bonjour
Je cherche une expression régulière en php pour trouver et recupérer 2 chaines de caractères dans une 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, parce que la j'ai essayer plein de compo, mais ca donne rien
Cordialement

Dernière modification par ferv21 (12-06-2011 09:07:48)

Hors ligne

#2 12-06-2011 07:50:03

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide Regex en php

Saluton,
Y-a juste un problème, c'est que rien n'est en rouge dans ton post


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 12-06-2011 08:41:00

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Aide Regex en php

mk->
2 solutions, tu n'as pas mis tes lunettes ou tu n'es pas assez imaginatif roll smile
a++

Hors ligne

#4 12-06-2011 09:08:33

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Re : Aide Regex en php

Salut

Au temps pour moi xddd, et pourtant je porte des lunettes tongue

Hors ligne

#5 12-06-2011 09:50:35

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide Regex en php

Bon ça va mieux comme ça.
Peut-on dire que tu veux tout ce qui suit deux points ":" et est encadré de guillemets ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 12-06-2011 10:35:31

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Re : Aide Regex en php

Je veux récupérer les deux chaines séparément.

Hors ligne

#7 12-06-2011 13:14:01

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide Regex en php

Ce n'est pas ce que je te demande, je te demande si les deux bouts de chaînes à récupérer seront toujours précédés de deux points : et encapsulés dans des apostrophes.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 12-06-2011 13:17:25

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide Regex en php

D'autre part, dans quel type de variable cela se trouve-t'il ? Parce que là, en PHP, je ne vois pas ce qui peut contenir

// "emaildomain":"gmail.com","emailsteamid":"26561197963408296"
//sauf
$var='"emaildomain":"gmail.com","emailsteamid":"26561197963408296"';

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 12-06-2011 13:22:31

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Re : Aide Regex en php

Ah oui j'avais mal compris, oui c'est exact la chaînes à récupérer seront toujours précédés de deux points : et encapsulés dans des apostrophes.
Alors voila le bout de code en php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, AUTHENTIFICATION);
curl_setopt($ch, CURLOPT_USERAGENT, USERAGENT);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIESESSION,  true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$ret = curl_exec($ch);
curl_close($ch);

Si la requête HTTP fonctionne correctement la a variable $ret vaut {"success":false,"emailauth_needed":true,"emaildomain":"gmail.com","emailsteamid":"26561197969408256"}

Dernière modification par ferv21 (12-06-2011 13:29:52)

Hors ligne

#10 12-06-2011 13:36:17

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide Regex en php

Comme je suis une quiche en regexp je te propose ça

<?php
function fauxregexp($var){
    $virg=explode(",",$var);
    $soluce=array();
    $entropie="";
    foreach($virg as $piece){
        list($entropie,$soluce[])=explode(":",$piece);
        }
    return $soluce;
    }
var_dump(fauxregexp('"emaildomain":"gmail.com","emailsteamid":"26561197963408296"'));

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#11 12-06-2011 13:37:19

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Aide Regex en php

json_decode est ton amie wink



$var = json_decode('{"success":false,"emailauth_needed":true,"emaildomain":"gmail.com","emailsteamid":"26561197969408256"}');

echo $var->success;
// ou
echo $var['success'];

et tu connais ma suite wink


a++

Hors ligne

#12 12-06-2011 13:51:18

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Re : Aide Regex en php

Ah super merci Maljuna Kris tu m'a énormément aidé!
Je vais également voir voir ce que ca donne avec Json decode, mais bon après quelle méthode est la plus rapide?

Hors ligne

#13 12-06-2011 14:20:53

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Aide Regex en php

la plus simple, la plus naturel, la plus rapide :
la question ne se pose même pas wink

a++

Hors ligne

#14 12-06-2011 14:20:57

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide Regex en php

Sûrement la méthode native PHP json_decode d'autant qu'elle supprime les guillemets ce que ne fait pas ma fonction.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#15 12-06-2011 14:47:30

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Re : Aide Regex en php

roo c'est ultra rapide et super efficace big_smile
Merci bcp!!

Hors ligne

#16 13-06-2011 09:28:36

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Aide Regex en php

sympa l'attribution du mérite .... http://forum.phpfrance.com/post358951.html


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#17 13-06-2011 10:01:06

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Aide Regex en php

il a eu le mérite de chercher et de trouver wink
peu importe la méthode wink
a++

Hors ligne

#18 13-06-2011 10:31:55

ferv21
Membre
Inscription : 12-06-2011
Messages : 7

Re : Aide Regex en php

Désolé si j'ai vexé certains âmes charitables.
La prochaine fois je mettrais la source.
A bientôt

Hors ligne

#19 13-06-2011 10:35:07

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Aide Regex en php

pas grave wink
a++

Hors ligne

Pied de page des forums