Carlitus
20 Jun 2006, 02:33 PM
Alguien sabria como extraer de un texto que contenga un tag img la url de la imagen?
He probado con src=\"([a-zA-Z0-9]+(?:jpg|bmp|gif) (con con un eregi) pero no me ha funcionado.
Yo la verdad soy muy malo con las expresiones regulares, a ver si hay por ahi algún coco..
cocososo
20 Jun 2006, 04:13 PM
$doc = "<img src=\"coco.jpg\">";
preg_match( "'src\s*=\s*([\"\'])?(?(1) (.*?)\\1 | ([^\s\>]+))'isx", $doc, $resultado );
$resultado:
Array
(
[0] => src="coco.jpg"
[1] => "
[2] => coco.jpg
)
$doc = "<img src=coco.jpg>";
preg_match( "'src\s*=\s*([\"\'])?(?(1) (.*?)\\1 | ([^\s\>]+))'isx", $doc, $resultado );
$resultado:
Array
(
[0] => src=coco.jpg
[1] =>
[2] =>
[3] => coco.jpg
)
Cuando el valor de src viene entre comillas queda en el elemento 2 de la array,
si el valor viene sin comillas se queda en el elemento 3.
Carlitus
20 Jun 2006, 04:20 PM
muuuuuchas gracias....
Carlitus
20 Jun 2006, 04:32 PM
me ha ido casi perfecta, pero lo malo es que también pilla un src de un embed (un vídeo de youtube)
He intentado ponerle a la expresión regular que empiece por <img pero no me ha salido (joer, mira que soy malo en esto, voy a tener que hacer un curso)
En principio tendría que ser fácil, todas las imágenes siempre tienen el src después del img, no hay ninguna que tenga algún atributo antes.
cocososo
20 Jun 2006, 04:47 PM
A ver con esto:
preg_match("'<\s*img\s.*?src\s*=\s*([\"\'])?(?(1) (.*?)\\1 | ([^\s\>]+))'isx", $doc, $resultado);
Si es para coger todos los img-src dentro del codigo html usa la regular expresion con preg_match_all.
Carlitus
20 Jun 2006, 05:00 PM
Ahora perfesto, perfesto...
muuuuxas gracias otra vez
Jumiya
20 Jun 2006, 07:13 PM
cocososo
20 Jun 2006, 09:08 PM
Yo no digo ná que luego Davilac se enfada.
Jumiya
21 Jun 2006, 12:21 AM
Para indignarse, al menos, sí es
Carlitus
21 Jun 2006, 09:53 AM
Yo estube un rato con ese juego y me quedé con uno suelto (creo)
Por cierto, lo de pillar la imagen era para
hacer esto
cocososo
21 Jun 2006, 10:37 AM
La regular exp si encuentra el src aunque haya mas parametros entre <img y este.
En la linea que dice:
$img = $resultado[2];
yo pondria:
$img = ( $resultado[3] ) ? $resultado[3] : $resultado[2];
Asi tambien cogeria el src cuando viene sin comillas.
En fin, no me hagas caso porque yo soy de los que siguen modificando el codigo cuando ya funciona.
Carlitus
21 Jun 2006, 11:36 AM
Ok, modificado
Jumiya
21 Jun 2006, 01:16 PM
QUOTE(Carlitus @ 21 Jun 2006, 10:53 AM)
Yo estube un rato con ese juego y me quedé con uno suelto (creo)
Por cierto, lo de pillar la imagen era para
hacer esto¿Valdría la pena redimensionar la imagen o es mucho lío?
Carlitus
21 Jun 2006, 01:29 PM
Bueno, es que yo parto del supuesto de que las fotos nunca serán más grandes de 400px (normalmente unos 150px).
Se podría hacer si el archivo lo generamos sólo cada cierto tiempo (con el cron) y guardamos las fotos redimensionadas en una cache (que se borra cada vez que generamos el html con las noticias (así no se gasta demasiado CPU al redimensionar las fotos)
Jumiya
21 Jun 2006, 07:56 PM
Por cierto, felicidades por el rediseño de neuroticweb, la nueva incorporación y las fotos de la sección "El equipo"
Carlitus
22 Jun 2006, 09:17 AM
Nos falta tu foto ya que eres nuestro santo patrón inspirador. Si quieres ponla aquí y luego ya la pongo en la página.
Jumiya
22 Jun 2006, 01:41 PM
Vale, espera a que me ponga un poco morenito y me compre un traje de lino blanco.
Carlitus
22 Jun 2006, 02:01 PM
espero, espero....
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.