Supprimer le dernier caractère si c'est un "/"

Supprimer le dernier caractère si c'est un "/" - PHP - Programmation

Marsh Posté le 17-12-2009 à 16:08:34    

Bonjour,
J'ai un petit script php qui met en base un formulaire.
Dans ce formulaire, j'ai une zone ou l'on rentre une URL, et je voudrais que, si la personne à rentré un "/" en dernier paramètre en fin d'URL (ex : http://forum.hardware.fr/" ) le script retire automatiquement ce dernier "/" afin de ne retenir que  http://forum.hardware.fr dans ma base.
 
J'ai déjà cela en début de code (pour retirer les espaces et mettre tout en minuscule) :
 
// tout en minuscule
$_POST['keywords']=strtolower ($_POST['keywords']);
   
//suppression des espaces
$_POST['keywords']=trim($_POST['keywords']);
 
 
Merci de votre aide


---------------
Un seul site pour tout dire, tout déballer, rien oublier : www.crabzy.com
Reply

Marsh Posté le 17-12-2009 à 16:08:34   

Reply

Marsh Posté le 17-12-2009 à 16:22:07    

Chercher http://www.php.net/manual/fr/function.rtrim.php sur google n'etait pas tres difficile a faire, peut etre meme encore plus que de poster ici sans chercher :(

Reply

Marsh Posté le 17-12-2009 à 17:15:08    

J'ai modifié comme ceci, mais le "/" n'est tjs pas supprimé :
 
                         // tout en minuscule
  $_POST['keywords']=strtolower ($_POST['keywords']);
   
  //suppression des espaces
  $_POST['keywords']=trim($_POST['keywords']);
   
 //suppression des / de fin de ligne
  $_POST['keywords']=rtrim($_POST['keywords'], "/" );


---------------
Un seul site pour tout dire, tout déballer, rien oublier : www.crabzy.com
Reply

Marsh Posté le 17-12-2009 à 17:31:00    

J'ignore comment tu teste et le contenu exact de ta variable, mais :

Code :
  1. echo "<pre>".rtrim("http://forum.hardware.fr/", "/" )."</pre>";


fonctionne tres bien. Il est de plus assez peu sain de modifier directement des vars $_POST mais plus propre de d'utiliser des variables temporaires. Je te conseille pour faciliter le debuggage d'ajouter un  

Code :
  1. echo '<pre>!!' . $_POST['keywords'].'!!</pre>';


avant de faire tes modifs.

Reply

Marsh Posté le 18-12-2009 à 17:54:21    

La question est surtout pourquoi tu veux retirer le / qui est très important en terme de vitesse pour accéder à une page web ?
http://developer.yahoo.com/perform [...] #redirects

Reply

Marsh Posté le 19-12-2009 à 17:27:49    

David Boring a écrit :

La question est surtout pourquoi tu veux retirer le / qui est très important en terme de vitesse pour accéder à une page web ?
http://developer.yahoo.com/perform [...] #redirects


Branlage de nouille.
Et s'il veut éviter des doublons (un avec le /, un sans), le plus simple c'est de supprimer l'excédent, pas de rajouter un / manquant.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-12-2009 à 00:24:17    

Quand tu veux un site performant, cela passe par ce genre de petits détails, qui font toute la différence.
Quand à la performance coté backend, je dirais qu'il faut uniformiser avec un slash lors de l'introduction dans la db.

Reply

Marsh Posté le 20-12-2009 à 07:57:18    

s'il en est à ne pas réussir à supprimer le / de fin il est encore très très loin des préoccupations de performances.


Message édité par skeye le 20-12-2009 à 07:57:28

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-12-2009 à 15:19:31    

Certe, judicieuse remarque.
Mais autant apprendre en même temps les techniques qui permettent d'optimiser un site web non ?

Reply

Marsh Posté le 21-12-2009 à 15:58:04    

non, tout ce que ça peut lui apporter à ce stade c'est l'embrouiller, amha.


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed