Найти div с классом, используя PHP Simple HTML DOM Parser

Я только начинаю с упомянутого Парсера и как-то бегаю по проблемам непосредственно с самого начала.

Ссылаясь на этот учебник:

http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/

Я хочу теперь просто найти в исходном коде содержимое div с классом ClearBoth Box

Я извлекаю код с помощью curl и создаю простой объект html dom:

$cl = curl_exec($curl); $html = new simple_html_dom(); $html->load($cl); 

Затем я хотел добавить содержимое div в массив с именем divs:

 $divs = $html->find('div[.ClearBoth Box]'); 

Но теперь, когда я печатаю_r $ divs, он дает гораздо больше, несмотря на то, что исходный код не имеет больше внутри div.

Как это:

 Array ( [0] => simple_html_dom_node Object ( [nodetype] => 1 [tag] => br [attr] => Array ( [class] => ClearBoth ) [children] => Array ( ) [nodes] => Array ( ) [parent] => simple_html_dom_node Object ( [nodetype] => 1 [tag] => div [attr] => Array ( [class] => SocialMedia ) [children] => Array ( [0] => simple_html_dom_node Object ( [nodetype] => 1 [tag] => iframe [attr] => Array ( [id] => ShowFacebookButtons [class] => SocialWeb FloatLeft [src] => http://www.facebook.com/plugins/xxx [style] => border:none; overflow:hidden; width: 250px; height: 70px; ) [children] => Array ( ) [nodes] => Array ( ) 

Я не понимаю, почему $ divs не просто код из div?

Вот пример исходного кода на сайте:

 <div class="ClearBoth Box"> <div> <i class="Icon SmallIcon ProductRatingEnabledIconSmall" title="gute peppige Qualität: Sehr empfehlenswert"></i> <i class="Icon SmallIcon ProductRatingEnabledIconSmall" title="gute peppige Qualität: Sehr empfehlenswert"></i> <i class="Icon SmallIcon ProductRatingEnabledIconSmall" title="gute peppige Qualität: Sehr empfehlenswert"></i> <i class="Icon SmallIcon ProductRatingEnabledIconSmall" title="gute peppige Qualität: Sehr empfehlenswert"></i> <i class="Icon SmallIcon ProductRatingEnabledIconSmall" title="gute peppige Qualität: Sehr empfehlenswert"></i> <strong class="AlignMiddle LeftSmallPadding">gute peppige Qualität</strong> <span class="AlignMiddle">(17.03.2013)</span> </div> <div class="BottomMargin"> gute Verarbeitung, schönes Design, </div> </div> 

Что я делаю не так?

Правильный код для получения div с классом:

 $ret = $html->find('div.foo'); //OR $ret = $html->find('div[class=foo]'); 

В основном вы можете получить элементы, поскольку вы использовали селектор CSS.

источник: http://simplehtmldom.sourceforge.net/manual.htm
Как найти элементы HTML? раздел, вкладка Дополнительно

 $html = new simple_html_dom(); $html->load($output); $items = $html->find('div.youclassname',0)->children(1)->outertext; print_r($items);