Sparrow
Новичок
Парсинг сложного html - DOM или RegExp?
Вопрос отчасти теоретический, но все же задам здесь.
Миграция сайта
Постановка задачи: есть очень большой объем документов в html. Их нужно преобразовать следующим образом:
1. заменить шапку и концовку
2. заменить кучу внутренних ссылок по достаточно сложной схеме (Имеющиеся ссылки имеют вид href="/index.php?cat1=xxxx&cat2=yyyy", нужно преобразовать их в ЧПУ, при этом уже есть база соответствий (xxxx,yyyy => url)).
Особенности: html довольно рыхлый, классов и id там практически нет, трудно за что-то зацепиться. Кроме того могут быть незакрытые теги, кавычки, и.т.п. Объем каждого документа - примерно 45-64 kB, из которых от половины до 2/3 занимает всякий html-мусор (избыточные теги и прочие издержки кривого визуального редактора).
Платформа - Apache/php/mysql, есть рутовый доступ. Планируется запустить процесс достаточно надолго.
Теперь собственно вопрос: какой механизм посоветуете использовать для собственно парсинга html: XML (DOM, XML parser, etc.) или регулярные выражения?
Сделать все это ручками не предлагать - там десятки мегабайт контента.
Вопрос отчасти теоретический, но все же задам здесь.
Миграция сайта
Постановка задачи: есть очень большой объем документов в html. Их нужно преобразовать следующим образом:
1. заменить шапку и концовку
2. заменить кучу внутренних ссылок по достаточно сложной схеме (Имеющиеся ссылки имеют вид href="/index.php?cat1=xxxx&cat2=yyyy", нужно преобразовать их в ЧПУ, при этом уже есть база соответствий (xxxx,yyyy => url)).
Особенности: html довольно рыхлый, классов и id там практически нет, трудно за что-то зацепиться. Кроме того могут быть незакрытые теги, кавычки, и.т.п. Объем каждого документа - примерно 45-64 kB, из которых от половины до 2/3 занимает всякий html-мусор (избыточные теги и прочие издержки кривого визуального редактора).
Платформа - Apache/php/mysql, есть рутовый доступ. Планируется запустить процесс достаточно надолго.
Теперь собственно вопрос: какой механизм посоветуете использовать для собственно парсинга html: XML (DOM, XML parser, etc.) или регулярные выражения?
Сделать все это ручками не предлагать - там десятки мегабайт контента.
