[PHP] Erreur preg_replace

Erreur preg_replace [PHP] - PHP - Programmation

Marsh Posté le 01-08-2010 à 07:56:35    

Bonjour,
 
Vu qu'apparemment ereg_replace donne un message d'erreur depuis une des versions récentes de PHP j'ai essayé de la modifier en preg_replace mais ça me donne un message d'erreur.
 
Voici les lignes qui posent problème :  
 

Code :
  1. $texte = preg_replace("([ \t]|^)www\.", " http://www.", $texte); 
  2. $texte = preg_replace("([ \t]|^)ftp\.", " ftp://ftp.", $texte); 
  3. $texte = preg_replace("(https://[^ )\r\n]+)", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $texte); 
  4. $texte = preg_replace("(ftp://[^ )\r\n]+)", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $texte);


 
 
Et le message d'erreur qu'il me donne pour ces 4 lignes :  
 

Citation :

Warning: preg_replace() [function.preg-replace]: Unknown modifier 'w' in  
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'f' in  
Warning: preg_replace() [function.preg-replace]: Unknown modifier ' ' in  
Warning: preg_replace() [function.preg-replace]: Unknown modifier ' ' in  
 


 
J'ai trouvé pas mal de topics traitant de ça sur le net mais je n'y parviens pas malgré tout, quelqu'un aurait-il par hasard une idée ?  :??:  
 
Merci bcp !


---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 01-08-2010 à 07:56:35   

Reply

Marsh Posté le 01-08-2010 à 08:40:27    

En général il faut mettre un délimiteur pour la regexp (mettre soit "/" soit "#" au début, moi je préfère "#" mais la majorité utilise "/" ) et ça devrait résoudre ton problème

 

Ici PHP considère les () comme un délimiteur (tout comme {} et [] fonctionnent aussi) d'ou ton problème


Message édité par WiiDS le 01-08-2010 à 08:42:44

---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 01-08-2010 à 16:50:47    

Ok, je sais où chipoter alors maintenant... merci pour le tuyau !
 
A+


---------------
SHOOT ME AGAIN WEBZINE
Reply

Sujets relatifs:

Leave a Replay

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