Extraire des données avec une regex


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:29

Bonjour,
je voudrais faire une recherche d'une chaine de caractères dans une url en utilisant les expressions régulières.
Le souci est que je ne comprends rien aux expressions régulières.

Ce dont j'ai besoin:
J'ai plusieurs url du type:
xxx.php?id=1111&param=2222
xxx.php?id=3333&param=4444
xxx.php?id=5555&param=6666

Ce que je voudrais est faire une boucle parcourant toutes ces chaines et a chaque fois faire un echo de ce qui se trouve dans les variables "id" et "param"

Avez vous une idée ?
Merci

Yves


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:33

input : (.*)?php?id=([0-9]+)&param=([0-9]+)$
output : id = $1 et param = $2


cthierry
WRInaute passionné
WRInaute passionné
 
Messages: 2466
Inscription: 15 Jan 2005

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:34

avec un get non?
$_GET['id'];
$_GET['param'];

et un echo de ce que cela récupère.


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:37

milkiway a écrit:input : (.*)?php?id=([0-9]+)&param=([0-9]+)$
output : id = $1 et param = $2


ça a l'air cool les mecs je teste de suite

(pas en $_Get car c'est via un CURL)


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:52

Code: Tout sélectionner
$preg = preg_match('(.*)?php?id=([0-9]+)&param=([0-9]+)$',$chaine,$matches);


me donne

Warning: preg_match() [function.preg-match]: Unknown modifier '?' in C:\wamp\www...


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:55

Par contre là c'est à toi de lire la doc, c'est écrit noir sur blanc comment faire, il y a même des exemples.
Et toi tu veux un preg_replace au fait.


raljx
WRInaute accro
WRInaute accro
 
Messages: 2823
Inscription: 10 Juil 2006

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:58

Code: Tout sélectionner
$preg = preg_match('(.*)\?php?id=([0-9]+)&param=([0-9]+)$',$chaine,$matches);



rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 16:59

j'ai essayé d'echapper les ?(tous) et que maintenant j'ai le message d'erreur sur l "\"


raljx
WRInaute accro
WRInaute accro
 
Messages: 2823
Inscription: 10 Juil 2006

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:02

merde c'etait l'autre
Code: Tout sélectionner
$preg = preg_match('(.*)?php\?id=([0-9]+)&param=([0-9]+)$',$chaine,$matches);


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:10

'/xxx/'


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:14

a quoi sert le ? avant php ?
Code: Tout sélectionner
$chaine="xxx.php?id=1111&param=2222";
$preg = preg_match('(.*)?php\?id=([0-9]+)$',$chaine,$matches);
echo $matches[0];
Warning: preg_match() [function.preg-match]: Unknown modifier '?' in C:\wamp\www\............


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:16

A rien c'est une faute de frappe :mrgreen:


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:21

Donc ca donne :

Code: Tout sélectionner
$preg = preg_match('(.*)\.php\?id=([0-9]+)&param=([0-9]+)$',$chaine,$matches);


??


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:23

mais ça donne
Warning: preg_match() [function.preg-match]: Unknown modifier '\' in C:\wamp\www


raljx
WRInaute accro
WRInaute accro
 
Messages: 2823
Inscription: 10 Juil 2006

Re: Extraire des données avec une regex

Message le Mer Oct 27, 2010 17:23

Code: Tout sélectionner
$preg = preg_match('(.*).php\?id=([0-9]+)&param=([0-9]+)$',$chaine,$matches);


devrait avoir une fonction PHP sur WRI ca nous permettrait de tester online ^^
Dernière édition par raljx le Mer Oct 27, 2010 17:32, édité 1 fois.

Extraire des données avec une regex

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité