DiDom:
https://github.com/Imangazaliev/DiDOM
+ высокая скорость работы (
сравнение с другими парсерами)
+ хорошая
дока
+ большое количество
поддерживаемых селекторов
+ самое главное - тесты
Простой пример:
$document = new Document('http://www.example.com/', true);
echo $document->first('title::text');
Чуть посложнее - парсим все ссылки:
$links = $document->find('a[href]::attr(href)');
var_dump($links);
Еще сложнее - получить адреса всех ссылок-картинок:
$links = $document->find('a[href]:has(img)::attr(href)');
var_dump($links);
Другие варианты:
-
Symfony DomCrawler
-
Zend Dom Query