Question REGEX


mustru
WRInaute discret
WRInaute discret
 
Messages: 229
Inscription: 10 Juil 2006

Question REGEX

Message le Ven Fév 12, 2010 11:06

Bonjour à tous,

Je cherche à mettre en place une REGEX qui je pense n'est pas compliquée mais que je n'arrive pas à faire...

Je dois récupérer un identifiant d'une chaine (une url), mais je n'y arrive pas du tout...

Les URL sont de cette forme :

Code: Tout sélectionner
evenements_LE-TITRE-DE-EVENEMENT_IDENTIFIANT-2.aspx


Exemples :

Code: Tout sélectionner
evenements_balade-en-velo_95401-2.aspx


Code: Tout sélectionner
evenements_randonne-pedestre_78964-2.aspx


Code: Tout sélectionner
evenements_repas-entre-amis-75_10456-2.aspx


Quelqu'un aurait-il une idée ?

Un grand merci d'avance,


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 11:31

[a-z_-]+_[0-9]+-[0-9]+\.aspx

ca marche ?


mustru
WRInaute discret
WRInaute discret
 
Messages: 229
Inscription: 10 Juil 2006

Re: Question REGEX

Message le Ven Fév 12, 2010 11:35

Merci pour réponse, mais cela ne fonctionne pas.


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 11:41

tu peux coller ta fonction en entier qui réalise la regex ? afin de voir si tu n'oublies rien.


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 11:49

déjà j'avais mal lu ! sry

Code: Tout sélectionner
evenements_([[a-z0-9]-]+_[0-9]+)-[0-9]+.aspx


les parenthèses te sortiront la valeur (de mon coté cela marche)
Dernière édition par Nic'O le Ven Fév 12, 2010 11:50, édité 1 fois.


mustru
WRInaute discret
WRInaute discret
 
Messages: 229
Inscription: 10 Juil 2006

Re: Question REGEX

Message le Ven Fév 12, 2010 11:50

Voici un exemple d'utilisation :

Code: Tout sélectionner
$lien = "evenements_ardeche-loisir-eden-parc_45869-2.aspx";

$tr = preg_match("#[a-z_-]+_[0-9]+-[0-9]+\.aspx#",$lien,$resultat);

print_r($resultat);


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 12:02

ya ca qui marche mais c'est pas super joli, j'aurai préféré de pas mettre de .

Code: Tout sélectionner
<?php

$motif    = '#evenements_(.*)-[0-9]+\.aspx#';
$lien    = 'evenements_ardeche-loisir-eden-parc_45869-2.aspx';

$tr = preg_match($motif,$lien,$resultat);

print_r($resultat);

?>


mustru
WRInaute discret
WRInaute discret
 
Messages: 229
Inscription: 10 Juil 2006

Re: Question REGEX

Message le Ven Fév 12, 2010 12:18

Merci mais cela ne fonctionne pas non plus, ca me retourne :

Array ( [0] => evenements_ardeche-loisir-eden-parc_45869-2.aspx [1] => ardeche-loisir-eden-parc_45869 )


je dois uniquement recupérer le 45869 en fait ...


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 12:32

cette fois, ca vient de tes explications, regarde :)

evenements_LE-TITRE-DE-EVENEMENT_IDENTIFIANT-2.aspx


je te fais ca vite fait a 14h00 au retour du repas.

Code: Tout sélectionner
<?php

$motif    = '#evenements_(.*)-[0-9]+\.aspx#';
$lien    = 'evenements_ardeche-loisir-eden-parc_45869-2.aspx';

$tr = preg_match($motif,$lien,$resultat);

print_r($resultat);

?>


mustru
WRInaute discret
WRInaute discret
 
Messages: 229
Inscription: 10 Juil 2006

Re: Question REGEX

Message le Ven Fév 12, 2010 12:40

C'est vraiment très sympa de ta part, merci, merci beaucoup ;)


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 14:31

test ca

Code: Tout sélectionner
<?php

$motif    = '#evenements_.+_([0-9]+)-[0-9]+\.aspx#';
$lien    = 'evenements_repas-entre-amis-75_10456-2.aspx';

$tr = preg_match($motif,$lien,$resultat);

print_r($resultat);

?>


mustru
WRInaute discret
WRInaute discret
 
Messages: 229
Inscription: 10 Juil 2006

Re: Question REGEX

Message le Ven Fév 12, 2010 14:49

Un grand merci !! C'est exactement le résultat escompté, mille merci !!

Bonne journée ;)


Nic'O
WRInaute discret
WRInaute discret
 
Messages: 181
Inscription: 13 Mai 2009

Re: Question REGEX

Message le Ven Fév 12, 2010 14:54

de rien, c'est toujours agréable de faire plaisir.


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 0 invités