/ / ¿Cómo puedo usar PHP Simple HTML DOM para obtener el contenido de un atributo de etiquetas? - php, simpledom

¿Cómo puedo usar PHP Simple HTML DOM para obtener el contenido de un atributo de etiquetas? - php, simpledom

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 № 1

Prueba 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";
}