Простой HTML-DOM парсер на РНР

Довольно часто встаёт задача разбора HTML (его парсинга). Неважно какие цели мы при этом преследуем. Для этого специально разрабатывают парсеры. Буквально на днях набрёл на один из таких парсеров, написанный на языке РНР - очень порадовал. Советую попробовать.

Основные преимущества

  • Парсер написан на PHP5+
  • Позволяет легко производить манипулиции с HTML
  • Поддерживает невалидный HTML
  • Находит теги при помощи селекторов (похожих на JQuery)
  • Получает содержимое HTML одной строкой.

Загрузка

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

  • Сергей К.

    Да, парсер суперовый!

  • Дмитрий

    Проблема в том, что у меня не получается это сделать. Я экранирую кавычки своей функцией (она удаляет все одиночные, и экранирует двойные), делаю запрос на добавление записи в БД, выходит ошибка. Причем, часть html-кода записывается, остальная почему-то нет. Поэтому прошу помощи у программистов.

  • А в чем проблема? Получаем HTML, парсим, заносим в базу

  • Дмитрий

    Ребят, такой вопрос.
    Парсю html-код

    $text = file_get_html(‘http://googe.com’);

    Теперь ведь код мне надо записать в базу данных, представим, что есть бд, с таблицей одной, у нее одно поле, например sample.

    Как это сделать?

  • Бывают хостинги, где отключена вообще поддержка XML, никаких SimpleXML нет (в основном бесплатные, конечно) — ту на помощь и приходит данный скрипт.

    По поводу селекторов — в документации есть примеры: это и jQuery и xPath. Селекторы jQuery и построены на основе xPath, CSS.

  • А чем это лучше стандартных средств PHP для работы с DOM?.
    Селекторы, похожие на jQuery — имеется ввиду xPath или прям как в jQuery?
    Кстати, из стандартных средств (правда это все-таки именно под XML заточено)реально крут SimpleXML. Можно делать цепочки вызовов типа такого: $xml->body->div->span[0]->div, можно использовать селекторы xPath. Я недавно урок писал, где активно используется SimpleXML.