Intereting Posts

Как получить содержимое div в php

У меня есть div в php (строка), и я хочу получить контент.

например:

<div id="product_list" style="width:100%; float:none;"> <div> bla bla bla </div> bla bla </div> 

и я хочу

 <div> bla bla bla </div> bla bla 

Стиль меняется, я знаю только div id.

ОБНОВЛЕНО

это мой код, тот же, что и источник турбонаддува, и результаты одинаковы.

так что это оригинальный html

 $doc = new DOMDocument(); $doc->loadHTML($buffer); $id = $doc->getElementById('product_list') 

И после этого кода я получаю следующее: link

Используйте класс php DomDocument. http://www.php.net/manual/en/class.domdocument.php

 $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $divContent = $xpath->query('//div[id="product_list"]'); 

Чтобы сохранить фрагмент XML / HTML, вам необходимо сохранить каждый дочерний узел:

 $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $result = ''; foreach($xpath->evaluate('//div[@id="product_list"]/node()') as $childNode) { $result .= $dom->saveHtml($childNode); } var_dump($result); 

Вывод:

 string(74) " <div> bla bla bla </div> bla bla " 

Если вам нужен только текстовый контент, вы можете получить его напрямую:

 $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); var_dump( $xpath->evaluate('string(//div[@id="product_list"])') ); 

Вывод:

 string(63) " bla bla bla bla bla " 

Не достаточно ли этого сделать …

 $id->nodeValue