Quiero obtener los contenidos de la src
atributo de un <img>
etiqueta. Aquí está el código que estoy usando:
require_once( "simple_html_dom.php");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $webpage);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$str = curl_exec($curl);
curl_close($curl);
if( $str )
{
$html= str_get_html($str);
$img = $html->find("img", 0); // get the first image on the page
$src = $img->src; // get the contents of the img src - but it doesn"t seem to work
}
¿Qué estoy haciendo mal?
Respuestas
2 para la respuesta № 1Prueba esto:-
<?php
include("simple_html_dom.php");
$webpage ="http://www.santabanta.com";
$html = file_get_html($webpage);
foreach($html->find("img") as $element) {
echo $element->src . "<br>";
}
?>
0 para la respuesta № 2
Te estás perdiendo una primera "
en primera linea !!!
Reemplazar:
require_once( simple_html_dom.php");
Con:
require_once( "simple_html_dom.php");
0 para la respuesta № 3
Puede usar el analizador de DOM provisto por PHP para obtener la primera imagen "s src como esta:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $webpage);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$html = curl_exec($curl);
curl_close($curl);
if( !empty($html) ) {
$doc = new DOMDocument;
libxml_use_internal_errors(true);
$doc->loadHTML($html);
#echo $doc->saveHTML();
$xpath = new DOMXPath($doc);
$src = $xpath->evaluate("string(//img/@src)");
echo "src="/images/ . $src . "n";
}