Ver Mensaje Individual
  #12 (permalink)  
Antiguo 01/09/2011, 17:40
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: expresion regular algo complega en imagenes

Bueno igual no funciona en todos los casos, si la carpeta empieza con la letra h, no va a funcionar. Pero nada que no se pueda solucionar... Dejo otro ejemplo de práctica con estas expresiones regulares.

Código PHP:
Ver original
  1. <?php
  2. $html = <<<HTML
  3. <html><head><title>Titulo de la web</title></head>
  4. <body>
  5. Texto<br />
  6. <img src="http://www.google.com/imagen.jpg" /><br />
  7. Texto 2<br />
  8. <img src="carpeta/imagen.jpg" /><br />
  9. Texto 3<br />
  10. <img src="carpeta2/imagen.jpg" /><br />
  11. Texto 4<br />
  12. <img src="http://www.forosdelweb.com/imagen.gif" alt="El mejor foro" /><br />
  13. </body>
  14. </html>
  15. HTML;
  16.  
  17. $res = preg_replace('@src="(.*?)"@is', 'src="http://dominio.com/$1"', $html);
  18. $res = preg_replace('@http://dominio.com/http://@is', 'http://', $res);
  19. echo $res;

Edit: Es mejor hacer esto con DOMDocument por ejemplo para asegurarse que si reemplace lo que es.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 01/09/2011 a las 18:18