lorik Posté 24 Mai 2008 Partager Posté 24 Mai 2008 Bonjour, Un truc très C... : Je cherche à savoir la position du dernier '\' dans une url, pour récuperer le nom de la page. Simple, quoi ? Probléme, quelle que soit la fonction php que j'utilise (strrpos, explode, etc...), $string=explode ($chemin, "\"); systématiquement, mon editeur de code considère qu'il manque une cote dans la ligne... du coup, pas moyen d'utiliser ce caractère, c'est fou ça ! Je pense qu'il doit y avoir une astcue, mais je vois pas laquelle Merci de vos lumières Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 24 Mai 2008 Partager Posté 24 Mai 2008 L'antislash a ceci de particulier est qu'il sert de caractère d'échappement. Il faut donc l'échapper lui aussi, avec un ... antislash $string=explode ($chemin, "\\"); Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorik Posté 24 Mai 2008 Auteur Partager Posté 24 Mai 2008 Salut Dan, L'idée m'avait effleuré . J'avais essayé avec un : $page="http://www.site.fr/strategie/prestations.php"; $page=parse_url($page); $chemin=$page['path']; // $chemin renvoie /strategie/prestations.php $string=explode ($chemin, "\\"); echo "bla= ".$string[0]."<br>";// donne bla= / -->je dis bien un slash, pas un antislash echo "bla= ".$string[1]."<br>"; // $string[1] est vide Même chose avec un str_replace avec \\... ça ne trouve pas la chaine. j'ai pas l'impression que ça soit la solution... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorik Posté 24 Mai 2008 Auteur Partager Posté 24 Mai 2008 Bon, comme d'ab, je me tire une balle dans le pied... Dans les urls, c'est pas des \, c'est des / par contre, au final, c'est pas mieux : $page="http://www.site.fr/strategie/prestations.php"; $page=parse_url($page); $chemin=$page['path']; // $chemin renvoie /strategie/prestations.php $string=explode ($chemin, "/"); echo "bla= ".$string[0]."<br>";// donne bla= / -->je dis bien un slash echo "bla= ".$string[1]."<br>"; // $string[1] est vide C'est bizarre, normalement, je devrais avoir les contenus des urls, pas le séparateur, non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 24 Mai 2008 Partager Posté 24 Mai 2008 c'est $string=explode ("/",$chemin) Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorik Posté 24 Mai 2008 Auteur Partager Posté 24 Mai 2008 merci Monsieur, juré, je le ferai plus... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 24 Mai 2008 Partager Posté 24 Mai 2008 pour récuperer le nom de la page et pourquoi pas un simple basename() ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorik Posté 25 Mai 2008 Auteur Partager Posté 25 Mai 2008 Connaissais pas, mais oui effectivement, c'est bien plus simple, merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 25 Mai 2008 Partager Posté 25 Mai 2008 A lecture de ta question, j'avais compris que tu avais des antislashes dans tes URLs, tout en ne comprenant pas forcément pourquoi ... Effectivement, basename() est beaucoup plus simple dans le cas des urls plus "conventionnelles". Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant