Trouver et supprimer le dernier caractère d'un string

Comment développer un site internet avec PHP ? Le forum permet à chacun de poser des questions sur l'avancé de son projet web, les thèmes couvrent de la création d'une page HTML avec PHP jusqu'à l'administration d'un serveur MySql.
Avatar de l’utilisateur
Fobec
Administrateur du site
Messages : 67
Inscription : Mer 28 Août 2013 18:18

Trouver et supprimer le dernier caractère d'un string

Messagepar Fobec » Lun 9 Sep 2013 15:39

Comment connaitre le dernier caractère et le supprimer le cas échéant avec le langage PHP ?
En plein URL Rewriting, je voulais être sur que l'url ne se termine pas par /. Avec ce topic, ce n'est la complexité de l'algo qui prime :D mais plutot les différentes manières de faire.

Méthode logique
Enfin disons en transposant la logique humaine à un celle d'un PC, on obtient un code dans le style

Code : Tout sélectionner

<?php
//Texte
$s = 'la/belle/url/';
//taille du string
$len = strlen($s);
//copier dernier caractere
$lastchar = substr($s, $len - 1, 1);
echo 'le dernier caractere est:' . $lastchar;
if ($lastchar == '/') {
    //supprimer le dernier caractere
    $s = substr($s, 0, $len - 1);
    echo '<br>url sans slash:' . $s;
}
?>


Méthode + optimisée
Le dernier caractère est obtenu par débordement du string

Code : Tout sélectionner

<?php
//Texte
$s = 'la/belle/url/';
//copier dernier caractere
$lastchar = substr($s, -1);
echo 'le dernier caractere est:' . $lastchar;
if ($lastchar == '/') {
    //supprimer le dernier caractere
    $s = substr($s, 0, $len - 1);
    echo '<br>url sans slash:' . $s;
}
?>


Méthode choisie
Avec la fonction trim(), un peu dans l'idée de supprimer les espaces vides, ici le caractère / est supprimé en fin du texte

Code : Tout sélectionner

<?php
//Texte
$s = 'la/belle/url/';
$s = rtrim($s,'/');
echo '<br>url sans slash:' . $s;
?>


Existe-il une autre manière de faire ?

Revenir vers « Langage PHP »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité

cron