Как следует анализировать фоновые изображения PHP (простой html dom parser) и другие изображения веб-страницы?

Как следует анализировать с PHP (простой html dom / etc ..) фон и другие изображения веб-страницы?

case 1: inline css

<div id="id100" style="background:url(/mycar1.jpg)"></div> 

case 2: css внутри html-страницы

 <div id="id100"></div> <style type="text/css"> #id100{ background:url(/mycar1.jpg); } </style> 

case 3: отдельный файл css

 <div id="id100" style="background:url(/mycar1.jpg);"></div> 

external.css

 #id100{ background:url(/mycar1.jpg); } 

Случай 4: изображение внутри тега img

решение в случае 4, поскольку он появляется в php simple html dom parser :

 // Create DOM from URL or file $html = file_get_html('http://www.google.com/'); // Find all images foreach($html->find('img') as $element) echo $element->src . '<br>'; 

Пожалуйста, помогите мне разобрать случай 1,2,3.

Если существует больше случаев, напишите их, с удовольствием, если захотите.

благодаря

Для случая 1:

 // Create DOM from URL or file $html = file_get_html('http://www.google.com/'); // Get the style attribute for the item $style = $html->getElementById("id100")->getAttribute('style'); // $style = background:url(/mycar1.jpg) // You would now need to put it into a css parser or do some regular expression magic to get the values you need. 

Для случая 2/3:

 // Create DOM from URL or file $html = file_get_html('http://www.google.com/'); // Get the Style element $style = $html->find('head',0)->find('style'); // $style now contains an array of style elements within the head. You will need to work out using attribute selectors what whether an element has a src attribute, if it does download the external css file and parse (using a css parser), if it doesnt then pass the innertext to the css parser. 

Чтобы извлечь <img> со страницы, вы можете попробовать что-то вроде:

 $doc = new DOMDocument(); $doc->loadHTML("<html><body>Foo<br><img src=\"bar.jpg\" title=\"Foo bar\" alt=\"alt\"></body></html>"); $xml = simplexml_import_dom($doc); $images = $xml->xpath('//img'); foreach ($images as $img) echo $img['src'] . ' ' . $img['alt'] . ' ' . $img['title']; 

Подробнее см. Doc для DOMDocument .