Simple HTML DOM Parser — удобный html парсер

Разрабатывая всё новые скрипты и реализуя всё новые задумки, мне пришлось столкнуться с такой проблемой, как парсинг внешних ресурсов. При этом, если для XML парсинга в PHP достаточно стандартных инструментов и способов, среди которых самым удобным я считаю использование класса Simple XML Element, то для парсинга HTML страниц стандартные средства либо недостаточно удобные, либо без нужного функционала.

Хотя и в стандартном наборе PHP есть класс DOM Document, но у него ограниченные возможности, посему приходилось самому дописывать и допиливать нужные функции. Мне не удавалось с помощью него нормально обработать спарсенную страницу.

Поэтому я начал искать внешние html парсеры и наткнулся на такую хорошую штуку, как класс Simple HTML DOM Parser, и был очень приятно удивлен. Это то, что я искал и что нужно было мне!

Этот проект распространяется в виде одного небольшого php-файлика, но функционал и полезность этого файлика стоит того, чтобы использовать его вместо предоставляемых php стандартных средств.

Подключить этот класс к своему скрипту очень просто, достаточно просто залить полученный файл в папку с проектом и добавить одну строчку в свой проект, например в файл index.php. Нужная строчка выглядит так:

<?php include('simple_html_dom.php'); ?>

Описывать какие там есть функции и как ими пользоваться ни к чему, потому как разработчики этого чуда подготовили для пользователей компактный, но в то же время информативный, мануальчик, где описаны все функции, атрибуты и возможности класса Simple HTML DOM Parser как в общем виде, так и на примере.

Я уже нашел для этого класса много применений, поэтому думаю применение для этой штучки найдете и вы! 😉

Для новичков в сайтостроении и людей, желающих этому научится, про создание своего сайта предлагает почитать вам Seoded

С благими намерениями Сбербанк предполагает, что социальная карта Сбербанка поможет избежать очередей и ненужных расходов. Может это так?

Вам также будет интересно почитать и следующие записи

2 комментариев

  • LeoK:

    Парсит невалидный html? к примеру без закрытых тегов?

  • Сергей Фещуков:

    @ LeoK, честно говоря, даже никогда не обращал внимание валидный html я парсю или нет. Я не проверял, но по логике вещей и по сути функции, он должен парсить любой код, не смотря на его валидность, как есть. Потому как, если я правильно понял суть этого парсера, загрузка страниц основывается на функции file_get_contents().

  • Добавить комментарий