Help - Search - Members - Calendar
Full Version: Necesito Algún Coco De Expresiones Regulares
Foros de buscadores - Alta y Posicionamiento > FORO ABIERTO > Temas nuevos
Carlitus
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.. unsure.gif
cocososo
$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
muuuuuchas gracias....
Carlitus
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
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
Ahora perfesto, perfesto... up.gif


muuuuxas gracias otra vez
Jumiya
Coco é muxo coco
cocososo
Yo no digo ná que luego Davilac se enfada.
Jumiya
Para indignarse, al menos, sí es tongue.gif
Carlitus
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
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
Ok, modificado up.gif
Jumiya
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
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
Por cierto, felicidades por el rediseño de neuroticweb, la nueva incorporación y las fotos de la sección "El equipo" laugh.gif
Carlitus
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
Vale, espera a que me ponga un poco morenito y me compre un traje de lino blanco. cool.gif
Carlitus
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.
Invision Power Board © 2001-2008 Invision Power Services, Inc.