Fort en Regex ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


chava2b
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 263
Inscription: 5 Déc 2003

Fort en Regex ?

Message le Jeu Jan 20, 2005 11:29

Salut

J'ai une chaine (en fait une url) ou je veux enlever, a partir d'un repere, les 32 caracteres suivants.

ex : pg=home&s=3bc6b2c6cdd2252dc7c11bce6394dd6d&t=1
Je veux recuperer : pg=home&t=1

Donc le repere c'est '&s=' et les 32 caracteres c'est ce num de session.

Avec des regex, y a un moyen de faire ca simplement ?

Merci
Olivier


TrashBox
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 18 Juin 2004

Message le Jeu Jan 20, 2005 11:35

Hello,

C'est peut être idiot comme réponse, mais s'il s'agit de paramètres dans l'URL pourquoi ne pas les récupérer avec $_GET et reconstruire une chaîne de caractères avec les paramètres voulus ?


chava2b
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 263
Inscription: 5 Déc 2003

Message le Jeu Jan 20, 2005 11:36

Ben reconstruire sans la partie que je veux est faisable en 5 ou 6 lignes. Avec les regex en 1 seule... prefectionniste moi ?


TrashBox
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 18 Juin 2004

Message le Jeu Jan 20, 2005 11:49

bon ... je l'ai en 2 lignes :
avec $string = 'pg=home&s=3bc6b2c6cdd2252dc7c11bce6394dd6d&t=1';
Code: Tout sélectionner
ereg ("(pg)=([a-zA-z]*)&(s)=([0-9a-zA-z]*)&(t)=([0-9]*)", $string, $regs);
$url = $regs[1].'='.$regs[2].'&'.$regs[5].'='.$regs[6];


le problème c'est que ça ne marche que si les paramètres sont dans ce sens exact !


TrashBox
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 18 Juin 2004

Message le Jeu Jan 20, 2005 11:57

ah ... en 1 ligne et moins sensible à l'ordre des paramètres :

Code: Tout sélectionner
$url = ereg_replace("&s=([0-9a-zA-z])*","",$string);


c'est sûrement améliorable, parce que là si s= est en premier (donc sans &) ça ne marche plus !


Blini
WRInaute impliqué
WRInaute impliqué
 
Messages: 506
Inscription: 29 Nov 2004

Message le Jeu Jan 20, 2005 12:01

Il suffit de rajouter un ampersand devant...

Code: Tout sélectionner
$url = ereg_replace("&s=([0-9a-zA-z])*", "", '&'.$string);


TrashBox
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 18 Juin 2004

Message le Jeu Jan 20, 2005 12:09

... et avec un substr on récupère la chaîne sans le & initial !
Code: Tout sélectionner
$url = substr(ereg_replace("&s=([0-9a-zA-z])*", "", '&'.$string),1)


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

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités