Утилита для извлечения данных и парсинга HTML кода

Я иногда ссылаюсь на данную утилиту в примерах. Выкладываю её код и примеры использования.

Примеры использования.

Я привожу пример экспорта статей с одного из своих рабочих проектов — delovoymir2003.ru. Я выполнял программирование и переносом публикаций со старого сайта на сайт под drupal. Пример максимально конкретный.

Далее мы производим «первичный парсинг», т.е. извлекаем нужные куски данных из HTML документа. Они могут потребовать дополнительных проверок и преобразований позднее.

Заголовок статьи в данном примере находится в обрамлении — <h2 class=»itemTitle»>…</h2>. Было бы верно его разместить внутри H1, я сделаю на новом сайте после экспорта.

Курсор внутри объекта parse перемещается за найденный заголовок. Далее идет дата, обрамленная <h4 class=»itemTitle»>…</h4>. Пока просто извлечем её, чтобы на 2м этапе парсинга преобразовать её в UNIX_TIMESTAMP.

Картинка может быть в шаблоне, а может не быть, об этом нам сигнализирует наличие обрамления <div class=»itemImageBlock»>…</div>.

Вводный текст или тизер (краткое изложение) — тоже не обязательный атрибут статьи в примере.

Полный текст может подкинуть разные сюрпризы. Я, например, придерживаюсь правила : не использовать при создании статей тэг-а <div>. Но другие веб-мастера, верстальщики и программисты, могут придерживаться своих правил. :) В том числе, могут не соблюдать рекомендации W3C. Т.е. документ по разным причинам может содержать ошибки. Потому в поисках окончания текста я опираюсь на следующий после статьи блок <div class=»itemBody childs»>…</div>.

Текст утилиты. Класс parser.

 

Мало букафф? Читайте есчо !

Раздвигающееся вертикальное меню Drupal 6

Сентябрь 7, 2013 г.

Эта задача из разряда useability. Drupal может штатно создавать блоки вертикальных иерархических меню. Неудобным будет тот случай, когда мы хотим попасть на страницу в глубине иерархии этого меню. Нам придется последовательно заходить на родительские ...

Читать

Как пользоваться flock()?

Март 24, 2017 г.

Если вы решаете задачу конкурентного доступа к файлу (или какому то другому ресурсу) в PHP, и решили использовать flock() для этой цели, то вам понадобится верно представлять как работает механизм блокировки. Представим себе, что есть разные программные ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-68f633f164cac581639390/] Для того чтобы в ...

Читать

Urlencode расширенная практика применения

Февраль 8, 2017 г.

UrlEncode - php-функция, которая подготавливает значение для использования его как часть html ссылки, заменяя спец. символы, кириллицу и т.п. на закодированные ...

Читать
 

Комментарии к «Утилита для извлечения данных и парсинга HTML кода»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: