Trouver le dernier caractère d'une chaîne en PHP
Je fais une réécriture d'url en PHP et ont besoin de trouver des URL avec un slash à la fin, puis faire une redirection 301. Je pensais qu'il y aurait une simple fonction PHP pour trouver le dernier de la chaîne, mais je ne pouvais pas trouver quoi que ce soit. Première instincts faire m pense que j'ai besoin d'utiliser des regex, mais je ne suis pas à 100%.
Voici un exemple:
http://domainx.com/characters/ Je veux trouver une barre oblique et de le transformer en http://domainx.com/characters
De sorte que la fonction va m'aider à vérifier si le dernier caractère est un "/"?
source d'informationauteur Bob Cavezza
Vous devez vous connecter pour publier un commentaire.
Une belle solution pour supprimer en toute sécurité le dernier
/
est d'utiliserrtrim()
supprime tous les/
s sur le côté droit de la chaîne quand il y a un ou plusieurs.Vous pouvez également la possibilité d'ajouter exactement un seul
/
à la fin d'une URL:Vous pouvez utiliser
substr
:Renvoie le dernier octet caractère/dans une seule chaîne d'octets. Voir aussi la chaîne multi-byte variante
mb_substr
.Mais si vous voulez juste pour supprimer toutes les barres obliques,
rtrim
est probablement la meilleure solution.Et puisque vous travaillez avec des Url, vous pouvez aussi jeter un oeil à
parse_url
pour analyser les Url en tant que slash n'a pas besoin d'être de la partie chemin de l'URL.$string[strlen($string)-1]
vous donne le dernier caractère.Mais si vous voulez bande de barres obliques, vous pouvez le faire
$string = rtrim($string, '/');
. Si il n'y a pas de slash,$string
restera inchangée.Vous pouvez utiliser basename()
Ce sera le retour de
characters
pourhttp://domainx.com/characters/
ainsi quehttp://domainx.com/characters
Vous pouvez le faire comme ceci:-
Ensuite, vous pouvez utiliser le
$module
directement dans votre logique conditionnelle, sans faire de redirection.Si vous voulez récupérer le dernier
/
garni d'URL, vous pouvez le faire:-Si vous stockez le projet de l'url de base dans un fichier de config:-
alors vous pouvez le faire:-
Vous pourriez
preg_replace()
un/
à la fin de l'objet