2016-07-12 9 views
0

Ich muss den Bildlink und eine href finden. show href, img src und alt-Tag.Wie extrahiere ich href, src, alt mit xpath

hier mein Code

$xpath = new DOMXPath('http,://.....'); 


foreach ($xpath->query('//a[@href]//img') as $img) { 


echo '<a href=' .'"' .$img['href'] .'"' .'/>' .'<img src="' .$img['src'] .'"' .'alt="' .$img['alt'] .'"/>' .'</a>'; 



Catchable fatal error: Argument 1 passed to DOMXPath::__construct() must be an  
instance of DOMDocument, string given, called in 

Können Sie mir helfen ??

+0

Last 'zu bekommen DOMDocument' zuerst, dann 'DOMXpath' verwenden Sie können die URL nicht einfach direkt dumpen – Ghost

+0

Als Referenz: [Wie parsen und verarbeiten Sie HTML/XML in PHP?] (Ht tp: //stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php) – FirstOne

Antwort

0

können Sie den folgenden Code

$dom = new DOMDocument(); 
libxml_use_internal_errors(true); 
$dom->loadHTMLFile('http://example.com/'); 

$xpath = new DOMXpath($dom); 

dann XPath verwenden zu tun, was Sie damit tun wollen

Edited Bild src von Link

# get the images inside a link 
foreach ($xpath->query('//a[@href]//img') as $img) { 

    # find all the links and images  
    for ($link = $img; $link->tagName !== 'a'; $link = $link->parentNode); 

    $output[] = array(
     'href' => $link->getAttribute('href'), 
     'src' => $img->getAttribute('src'), 
     'alt' => $img->getAttribute('alt'), 
    ); 
} 
+0

leer, ich kann nicht zeigen echo '' .'' .''; – vallez

+0

meine Antwort geändert, um Ihre Anforderung zu erfüllen, ich denke, die Antwort ist zu spät, aber es kann jemand anderem helfen – Dharam

Verwandte Themen