Fort en Regex ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

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: Ven Juin 18, 2004 11:09

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 impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

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: Ven Juin 18, 2004 11:09

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: Ven Juin 18, 2004 11:09

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 passionné
WRInaute passionné
 
Messages: 506
Inscription: Lun Nov 29, 2004 8:59

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: Ven Juin 18, 2004 11:09

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)


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 Julien Coquet, expert certifié officiellement par Google Analytics.

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