verifier le dernier caractère d'une chaine

verifier le dernier caractère d'une chaine - PHP - Programmation

Marsh Posté le 07-03-2004 à 19:02:36    

Voila mon probleme, j'ai un site multilingue et je voudrais en cliquant sur le drapeau de la langue (présent sur toutes les pages) revenir sur la meme page dans la langue choisit.
Seulement l'url de cette page peut etre tres different, il peut contenir des variables (truc.php?bidule=1&machin=2), ou rien du tout (truc.php) ou bien encore (truc?bidule=1&langue=fr ou truc.php?langue=en).
 
J'ai tenté de récupérer l'url et de la nettoyer avant de lui rajouter la variable langue mais je n'arrive pas a le faire proprement.

Code :
  1. $url = getenv("REQUEST_URI" );
  2. $url = ereg_replace("\?langue=fr&", "?", $url);
  3. $url = ereg_replace("\?langue=en&", "?", $url);
  4. $url = ereg_replace("\?langue=fr", "", $url);
  5. $url = ereg_replace("\?langue=en", "", $url);
  6. $url = ereg_replace("&langue=fr", "&", $url);
  7. $url = ereg_replace("&langue=en", "&", $url);
  8. if(strstr ($url,'?')==FALSE){
  9. $url = $url."?";
  10. }else{
  11. $url = $url."&";
  12. };


Dans tous les cas ca fonctionne mais parfois j'obtient une url du type (truc.php?&langue=fr) et les & peuvent s'accumuler...
 
Voyez vous un moyen plus simple pour y arriver ou alors comme le sujet du topic le précise un moyen pour récupérer le dernier caractère que je pourrais tester.
 
D'avance merci

Reply

Marsh Posté le 07-03-2004 à 19:02:36   

Reply

Marsh Posté le 07-03-2004 à 19:05:33    

Utilises plutôt un COOKIE pour ce genre de choses.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 07-03-2004 à 19:44:20    

J'ai trouvé une solution :
 

Code :
  1. $url = getenv("REQUEST_URI" );
  2. $url = ereg_replace("\?langue=fr&", "?", $url);
  3. $url = ereg_replace("\?langue=en&", "?", $url);
  4. $url = ereg_replace("\?langue=fr", "", $url);
  5. $url = ereg_replace("\?langue=en", "", $url);
  6. $url = ereg_replace("&langue=fr&", "&", $url);
  7. $url = ereg_replace("&langue=en&", "&", $url);
  8. $url = ereg_replace("&langue=fr", "", $url);
  9. $url = ereg_replace("&langue=en", "", $url);
  10. if(strstr ($url,'?')==FALSE){
  11. $url = $url."?";
  12. }else if($url{strlen($url)-1}<>'&'){
  13. $url = $url."&";
  14. };

Reply

Sujets relatifs:

Leave a Replay

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