Filtrer un lien

datesta Messages postés 29 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 17 juin 2008 - 8 janv. 2005 à 22:46
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 9 janv. 2005 à 00:12
bonjour a tous ;)

je voudrai enlever des choses inutiles d'un
liens !

a partir de ça :
$url = "http://www.machintruc.com/salut.php";
je voudrai obtenir ça :
$url = "http://www.machintruc.com/";

un autre exemple :
$url = "http://www.machin.com/truc/bidule.jpg"
apres filtrage :
$url = "http://www.machin.com/truc/"

il faudrai que ça enleve tout ce qu'il y'a apres le dernier /

vous pourriez m'aidez svp ? merci d'avance

3 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2005 à 00:02
Salut,

y a une fonction en php qui parse une url et te renvoie un tableau avec tous les elements...attends je retrouve ca et je te copie le tout...
Vla :
array parse_url ( <TT>string</TT> <TT>url</TT> )
ses composants :

<LI><TT>scheme</TT> : le protocole, comme HTTP
<LI><TT>host</TT>
<LI><TT>port</TT>
<LI><TT>user</TT>
<LI><TT>pass</TT>
<LI><TT>path</TT>
<LI><TT>query</TT> : après le point d'interrogation <TT>?</TT>
<LI><TT>fragment</TT> : après le signe dièse <TT>#</TT></LI>

Donc apres, y a plus qu'a faire un truc du genre :
$url_parsee=parse_url($url);
$path=$url_parsee['path'];
$rep="";
$url=str_ireplace($path, $rep, $url);

vla :-)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2005 à 00:04
Ah j'avais mal lu...c'est plus complique que ca, tu ne cherches pas le root.
Bon ben la apres, faut encore parser ton $path, et a mon avis, faut des expressions regulieres pour ca.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2005 à 00:12
Re...
bah non...apres ca :
tu fais un explode:
$path_parse=explode("/", $path);
for ($i=0;$i<count($path_parse)-1;$i++)
$url.="/".$path_parse[$i];

y a surement des erreurs, et c'est a optimiser hein, j'ai fait ca a la va vite :-)
Tu peux aussi apres l'explode(), enlever la valeur max de ton tableau, puis refaire ujn implode() avec le slash /.
Mais l'idee est la.
0
Rejoignez-nous