Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

[PHP] Probleme avec les regex

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Stellvia
WRInaute impliqué
WRInaute impliqué

Inscrit le: 28 Déc 2004
Messages: 318

URL permanente de ce messagePosté le : Mar Juil 01, 2008 15:18    Sujet du message: [PHP] Probleme avec les regex

Bonjour,

J'ai une url et je cherche a supprimer le nom de la page ( si elle existe ) tout en gardant le reste de l'arborescence .

Voici quelques exemples basique pour illustrer :

1 www.domaine.com
2 www.domaine.com/repertoire/
3 www.domaine.com/repertoire
4 http://www.domaine.com/repertoire/page.php
5 http://www.domaine.com/repertoire/zeze/abc/page.php?zeze=zze

Je cherche à avoir comme résultat :

1 www.domaine.com/
2 www.domaine.com/repertoire/
3 www.domaine.com/repertoire/
4 http://www.domaine.com/repertoire/
5 http://www.domaine.com/repertoire/zeze/abc/

Je me tord les cheveux depuis 1 heure avec les regex et je n'arrive pas à trouver de solution adequate .

J'ais aussi cherché du coté de path info ( http://www.php.net/pathinfo ) , mais cela ne m'aide pas .

Exemple avec $path_parts['dirname'];

Code:
$url="http://www.domaine.com/repertoire/page.php";
$path_parts = pathinfo($url);
echo $path_parts['dirname'];


ca affiche http://www.domaine.com/repertoire

C'est ok..... mais....

PAR CONTRE

Code:
$url="http://www.domaine.com/repertoire/";
$path_parts = pathinfo($url);
echo $path_parts['dirname'];


affiche http://www.domaine.com
alors que j'aimerais avoir http://www.domaine.com/repertoire/

bref c'est pour ca que je me suis lancé dans les regex .
Mais je trouve pas de solution .

Quelqu'un peut m'aider ?
 
Stellvia
bproductiv
WRInaute accro
WRInaute accro

Inscrit le: 27 Déc 2004
Messages: 2262
Localisation: La roche s/ yon

URL permanente de ce messagePosté le : Mar Juil 01, 2008 15:50    Sujet du message: [PHP] Probleme avec les regex

Si ca peut t'aider voici une cheat sheet toute fraiche d'hier :
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
 
bproductiv Visiter le site web du posteur
Jeviensderio
WRInaute accro
WRInaute accro

Inscrit le: 29 Sep 2006
Messages: 1314

URL permanente de ce messagePosté le : Mar Juil 01, 2008 17:15    Sujet du message: [PHP] Probleme avec les regex

Les expressions régulières sont inefficaces dans ce cas là.
Je teste si c'est un un répertoire ou non par la présence du / terminal:

$x = substr($path, -1, 1);

S'il n'y a pas de / final, j'utilise pathinfo.
 
Jeviensderio Visiter le site web du posteur
Tilt
WRInaute passionné
WRInaute passionné

Inscrit le: 26 Mar 2005
Messages: 754

URL permanente de ce messagePosté le : Mar Juil 01, 2008 19:45    Sujet du message: [PHP] Probleme avec les regex

Jeviensderio a écrit:
Les expressions régulières sont inefficaces dans ce cas là.


C'est puissant pourtant les regexp :

Pourrais-tu essayer celle-ci ?
$url=preg_replace("`/[^/]+\.[^/]+$`","/",$url);

Je n'ai pas testé, mais si elle ne marche pas on reviendra dessus.... Wink
 
Tilt Visiter le site web du posteur
seebz
WRInaute impliqué
WRInaute impliqué

Inscrit le: 15 Avr 2007
Messages: 331

URL permanente de ce messagePosté le : Mar Juil 01, 2008 21:52    Sujet du message: [PHP] Probleme avec les regex

$url = 'xxx';
$filename = parse_url( $url );
$filename = $filename['file'];
$clean_url = str_replace($filename, '', $url);

A tester Wink

edit: j'avais pas vu le cas des paramètres ?xxx=yyy mais tu dois les retrouver dans le tableau retourné par parse_url()
 
seebz Visiter le site web du posteur
UsagiYojimbo
WRInaute accro
WRInaute accro

Inscrit le: 23 Nov 2005
Messages: 2308
Localisation: Lyon, capitale des Gaules

URL permanente de ce messagePosté le : Mar Juil 01, 2008 22:02    Sujet du message: [PHP] Probleme avec les regex

Sinon peut-être bien plus simple : http://www.php.net/manual/fr/function.dirname.php
 
UsagiYojimbo Visiter le site web du posteur
Tilt
WRInaute passionné
WRInaute passionné

Inscrit le: 26 Mar 2005
Messages: 754

URL permanente de ce messagePosté le : Mer Juil 02, 2008 16:56    Sujet du message: Re: [PHP] Probleme avec les regex

Toutes vos idées sans regexp ont un défaut, c'est qu'elles traitent -www.domaine.com/repertoire non comme un dossier mais comme un fichier, et renvoient -www.domaine.com/

Stellvia a écrit:

2 -www.domaine.com/repertoire/
3 -www.domaine.com/repertoire


C'est le problème du départ.

Au fait, -www.domaine.com existe vraiment ! Il récupère de bons backlinks avec ce post... Wink
 
Tilt Visiter le site web du posteur
seebz
WRInaute impliqué
WRInaute impliqué

Inscrit le: 15 Avr 2007
Messages: 331

URL permanente de ce messagePosté le : Mer Juil 02, 2008 19:02    Sujet du message: Re: [PHP] Probleme avec les regex

Tilt a écrit:
Toutes vos idées sans regexp ont un défaut, c'est qu'elles traitent -www.domaine.com/repertoire non comme un dossier mais comme un fichier, et renvoient -www.domaine.com/


if( !ereg('/$', $url) && !ereg('^http:\/\/.+\/.+\..+', $url) ) $url .= '/';

ca résoudrait pas le problème ?

edit : pas sur de la syntaxe mais l'idée est d'ajouter un / à la fin s'il n'y a pas de point (à l'exception du nom de domaine)
 
seebz Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort