[PHP] - Remplacer les signes étoiles avec ereg_replace

- Remplacer les signes étoiles avec ereg_replace [PHP] - PHP - Programmation

Marsh Posté le 20-04-2007 à 14:49:33    

 Salut à tous,  
 
  voilà, je doit faire un script qui doit me nettoyer des chaîne de caractère. Jusqu'à présent je n'avais aucun problème. Mais maintenant je doit éliminer de ma chaîne les caractères étoile "*". Et là tout ce complique parce que le signe "*" est un opérateur des expressions régulières.
 
  Si vous avez une solution à ce problème, je suis preneur.
 
 
  Avec le code suivant :  
 

Code :
  1. $myString = ereg_replace("*", "", $myString);


 
  J'ai l'erreur : "No ending delimiter '*' found in ./page.php"
 
 
  Merci  :hello:  

Reply

Marsh Posté le 20-04-2007 à 14:49:33   

Reply

Marsh Posté le 20-04-2007 à 15:21:32    

pas besoin de regexp pour ça, str_replace sera plus performant

$myString = str_replace('*', '', $myString);

PS1 :
- sinon tu avais juste à échapper le caractère avec \
- utilise preg plutôt que ereg

Reply

Marsh Posté le 20-04-2007 à 15:35:26    

soju a écrit :

pas besoin de regexp pour ça, str_replace sera plus performant

$myString = str_replace('*', '', $myString);

PS1 :
- sinon tu avais juste à échapper le caractère avec \
- utilise preg plutôt que ereg


 
  Effectivement avec str_replace marche beaucoup mieux. Le soucis c’est que j’ai besoin d’utiliser les regexp parce que je ne connais pas le nombre consécutif de caractères "*" que je dois supprimer.
 
  De même le "\*" ne fonctionne pas et me renvoit le message suivant : Delimiter must not be alphanumeric or backslash in /page.php
 
 

Reply

Marsh Posté le 20-04-2007 à 15:38:54    

the_white_rabbit a écrit :

Le soucis c’est que j’ai besoin d’utiliser les regexp parce que je ne connais pas le nombre consécutif de caractères "*" que je dois supprimer.

peu importe le nombre vu que str_replace les supprimera tous...
 
sinon avec preg :

$str = preg_replace('#\*+#', '', $str);

Reply

Marsh Posté le 20-04-2007 à 16:03:07    

soju a écrit :

peu importe le nombre vu que str_replace les supprimera tous...
 
sinon avec preg :

$str = preg_replace('#\*+#', '', $str);



 
 
  C'est exactement ce que je cherchais.
 
  Merci beaucoup   :jap:  

Reply

Sujets relatifs:

Leave a Replay

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