pb remplacement d'un caractère par un autre

pb remplacement d'un caractère par un autre - PHP - Programmation

Marsh Posté le 27-03-2006 à 20:48:44    

bonjour a tous, j'ai fais un petit scripte qui recherche des fichier dans un dossier, affiche leur nom et le lien ver le fichier, ça se présente sous cette forme :  
 

Code :
  1. $handle  = @opendir('./racine/');
  2.  
  3.      while ($file = @readdir($handle))
  4. {
  5.  if (condition pour afficher le fichier comme la taille par exemple)
  6.  {
  7.  // on l'affiche avec son lien
  8.  echo "<a href=racine/".$file." class=TITREBLANC> - ".$file." </a><p>&nbsp;</p>";
  9.  }


               }
 
Bon y  un un gros pb, si le nom comporte un espace, on a bien son nom mais le lien Href est érroné, il faudrait replacer les espaces par un %20.
 
j'ai essayé avec cette methode :  

Code :
  1. //Remplace les espaces par un %20.
  2.  $patterns=' ';
  3.  $replacements='%20';
  4.  echo preg_replace($patterns, $replacements, $file);


mais ça me sort cette erreur, a la ligne "echo preg_replace($patterns......"
 
Warning: Empty regular expression in c:\program files\easyphp1-8\www\fonction recherche.php on line 246
Donc 2 question :  la 1er d'ou vien l'erreur, la 2nd y aurait il une autre methode pour remplacer les espace par des %20. merci d'avance !!!

Reply

Marsh Posté le 27-03-2006 à 20:48:44   

Reply

Marsh Posté le 27-03-2006 à 20:51:20    

essaye du coté de urlencode / urldecode pitetre

Reply

Marsh Posté le 27-03-2006 à 21:33:56    

1. Du fait que la regex est mal écrite (bah oui, comme quoi on peut faire une regex aussi simple et se tromper :D), le pattern devant être entre /
2. Outre urlencode, ça doit passer avec un simple str_replace ça...

Reply

Marsh Posté le 27-03-2006 à 23:55:33    

lol, j'avai pas compris l'histoire des  '/  /'
merci ça marche nikel... ce petit bou de code m'a fait perdre un temps fou !!! :)
merci bye bye. :bounce:

Reply

Marsh Posté le 28-03-2006 à 10:10:15    

Oublie ton preg_replace et utilise plutôt urlencode(), c'est beaucoup plus approprié ;)
http://fr3.php.net/manual/fr/function.urlencode.php

Reply

Marsh Posté le 28-03-2006 à 12:12:53    

Oui effectivement urlencode ($userinput),  m'a l'air beacoup plus pratique. Merci ^^

Reply

Sujets relatifs:

Leave a Replay

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