Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$pq->find('Item#id')->text();
$pq->find('Item#id')->attr('class', 'new-class');
$pq->find('Item#id')->children('.sub-item')->html();
$item->find('p[class=one-product-description-title] a',0)встроенный XML DOM не позволяет делать хоть сколько нибудь сложные выборки
$xml = simplexml_load_string($xml);
$trRow = $xml->xpath('//tr[starts-with(@id, "row")]');
неудобное API— дело вкуса и всегда можна сделать обертку
плохая поддержка html— с этим могу частично согласиться, так как действтельно все плохо с невалидным html. И это скорей связано с тем что все браузеры/движки разбора html востанавливали его поразному, пока не появился стандарт разбора в html5.
получить их код ТОЧНО как в исходном документе— вполне возможно, вот только интересно зачем это вам?
плохая поддержка html
получить их код ТОЧНО как в исходном документе
php > require '/tmp/simple_html_dom.php';
php> $html = '
<html>
<body>
bodytxt1
<script>var y = a<b;</script>
<style>body {display:none}</style>
<p>I-m here</p>
bodytxt2
</body>
</html>';
php > $tree = str_get_html($html);
php > echo $tree->find("body", 0)->plaintext;
bodytxt1 I-m here bodytxt2
php >
php > echo $tree->find("body > p", 0)->plaintext;
I-m here
php >
php > echo $tree->find("body > script", 0)->plaintext;
php >
php > $html = '<html><body>M&M-s, 3>2</body></html>';
php > $tree = str_get_html($html);
php > echo $tree->find("body", 0)->plaintext;
M&M-s, 3>2
php >
PHP HTML DOM парсер с jQuery подобными селекторами