Foros del Web » Programando para Internet » PHP »

Obtener ruta de imagen de un texto

Estas en el tema de Obtener ruta de imagen de un texto en el foro de PHP en Foros del Web. Hola a todos, tengo un campo de una BD con un texto como este: "Hola que tal aqui va una imagen <img src="ruta.jpg" /> y ...
  #1 (permalink)  
Antiguo 18/09/2008, 13:09
 
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 7 meses
Puntos: 0
Obtener ruta de imagen de un texto

Hola a todos,

tengo un campo de una BD con un texto como este:

"Hola que tal aqui va una imagen <img src="ruta.jpg" /> y aqui sigue el texto".

Me gustaría encontrar la forma de conseguir "aislar" la etiqueta <img> o la ruta de la imagen y que me devolviera:

<img src="ruta.jpg" />

eliminando el resto del texto.

He probado con expresiones regulares pero es la primera vez que las uso y no me aclaro mucho :P.

¡Gracias!
  #2 (permalink)  
Antiguo 19/09/2008, 07:43
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Obtener ruta de imagen de un texto

Buscá "expresiones regulares" en este mismo foro. Es un tema recurrente que se ha tratado muchas veces.

No es mala idea que nos compartas el patrón que creaste, para ver por qué falla.


Saludos.
  #3 (permalink)  
Antiguo 22/09/2008, 11:39
 
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Obtener ruta de imagen de un texto

Lo he solucionado chapuceramente así:

[PHP]$trozos = explode ("src=\\\"", $texto);
$src = explode ("\"", $trozos[1]);

Divido usando el src=" como separador. Vuelvo a dividir usando la contrabarra y ya tengo el nombre del fichero :).

Un saludo
  #4 (permalink)  
Antiguo 22/09/2008, 13:38
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Obtener ruta de imagen de un texto

En los ejemplos de preg_match en php.net hay uno muy interesante que puede darte una idea:

Código PHP:
<?php
// obtener el nombre de host de una URL
preg_match('@^(?:http://)?([^/]+)@i',
    
"http://www.php.net/index.html"$coincidencias);
$host $coincidencias[1];

// obtener los últimos dos segmentos del nombre de host
preg_match('/[^.]+\.[^.]+$/'$host$coincidencias);
echo 
"el nombre de dominio es: {$coincidencias[0]}\n";
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:15.