PHP: extraer la primera imagen de una cadena
Una función php que utilizo para extraer el “SRC” de la primera imagen que aparece de una determinada cadena, haciendo uso de expresiones regulares con “preg_match_all”:
$foto = '';
ob_start();
ob_end_clean();
preg_match_all("/<img[\s]+[^>]*?src[\s]?=[\s\"\']+(.*\.([gif|jpg|png|jpeg]{3,4}))[\"\']+.*?>/", $texto, $array);
$foto = $array [1][0];
if(empty($foto)){
$foto = '';
}
return $foto;
}
Un ejemplo de uso:
<p>Traigo la cabeza rota, trailaralará, trailará traigo la cabeza rota, trailaralará, trailará que me la rompió un costero mira,mira, Maruxina, mira,mira cómo vengo yo, que me la rompió un costero
mira,mira, Maruxina, mira,mira cómo vengo yo… <img src="fotos/foto2.jpg"></p>';
echo primera_imagen($cadena); // Imprime: fotos/foto1.jpg