Expressions régulières

Expressions régulières - PHP - Programmation

Marsh Posté le 05-01-2007 à 16:12:45    

Bonjour,
 
j'ai un code source dans la variable $page. en fait, je voudrais remplacer les

Code :
  1. <img src="../images/blabla.jpg" />


par

Code :
  1. <img src="http://www.gogo.com/images/blabla.jpg" />


 
Pour cela, j'utilise cette expression régulière :

Code :
  1. $page = eregi_replace("../images/([A-Za-z0-9_-])+.([A-Za-z]){2-3}","http://www.gogo.com/images/\\1.\\2",$page);


 
Mais ça ne marche pas  :??:  
Comment ça se fait ?
Merci d'avance pour vos réponses !


---------------
Matt
Reply

Marsh Posté le 05-01-2007 à 16:12:45   

Reply

Marsh Posté le 05-01-2007 à 16:38:18    

et faire un str_replace(array("<img src=\"../images/" ), array("<img src=\"http://www.gogo.com/images/" ), $page);
ça serait pas plus simple?

Reply

Marsh Posté le 06-01-2007 à 15:41:24    

je sais pas du tout. parce qu'en fait, y'aurait aussi les liens à changer, genre  
../page1.html
->
http://www.gogo.com/page1.html
 
remarque que c'est juste
str_replace(array("<a href=\"../" ), array("ya href=\"http://www.gogo.com/" ), $page);
 
mais en fait, je comprends pas trop ce que ça fait, vais voir la doc ;-)

Reply

Marsh Posté le 06-01-2007 à 15:52:17    

et pourquoi pas :
str_replace("<img src=\"../images/", "<img src=\"http://www.gogo.com/images/", $page);
?
 
l'avantage avec les expressions régulières, c'est qu'en une ligne, c'est réglé pour les images et les liens, et que si tu as
<img alt="blabla" src="image.jpg" />
ca prend pas avec str_replace
 
A moins de faire :
$page = str_replace("\"../images/", "\"http://www.gogo.com/images/", $page);
 
D'un point de vue performance et optimisation, c'est mieux str_replace ou les expressions régulières ?
 
Merci en tout cas !

Reply

Marsh Posté le 06-01-2007 à 16:40:17    

et comme ça ?

Code :
  1. preg_replace('(\\../)', 'http://www.gogo.com/', $page);


Message édité par Kid_Paddle le 06-01-2007 à 17:02:10
Reply

Marsh Posté le 06-01-2007 à 17:00:44    

SatanKoRn a écrit :

D'un point de vue performance et optimisation, c'est mieux str_replace ou les expressions régulières ?


Les expressions régulières sont évidemment plus consommatrices de ressources mémoires et CPU par rapport un str_replace.
 
Si tu dois utiliser des expressions régulieres utilise de préference des expressions regulieres PCRE (Perl) : ce sont les fonctions PHP qui commencent par preg_*. Les expressions regulieres ereg_* sont des expressions regulieres POSIX : elles sont moins performantes et beaucoup moins fonctionnelles que les expressions regulieres PCRE. C'est bon a savoir ;)

Reply

Marsh Posté le 06-01-2007 à 17:07:44    

ok merci ;-)

Reply

Sujets relatifs:

Leave a Replay

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