Aller au contenu

Problème d'antislashes dans les fonctions php


Sujets conseillés

Posté

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 :)

Posté

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, "\\");

Posté

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...

Posté

Bon, comme d'ab, je me tire une balle dans le pied... :(

Dans les urls, c'est pas des \, c'est des / :wub:

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 ?

Posté

A lecture de ta question, j'avais compris que tu avais des antislashes dans tes URLs, tout en ne comprenant pas forcément pourquoi ... :whistling:

Effectivement, basename() est beaucoup plus simple dans le cas des urls plus "conventionnelles".

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...