Perl HTML :: TreeBuilder добавление тегов <html>, <head>и <body>к анализируемому контенту, как это остановить или обойти? - PullRequest
1 голос
/ 12 октября 2011

Справочная информация:
Я использую HTML :: TreeBuilder для анализа всей HTML-страницы, например, "целая_страница" для справки.Затем я использую унаследованный метод parse_content (такой же, как для whole_page) нового объекта TreeBuilder для анализа фрагмента html, скажем «html_to_insert».Корневой элемент html_to_insert должен быть тегом <div>.В конечном итоге дерево html_to_insert необходимо вставить в дерево целой страницы.

Проблема:
Дерево html_to_insert обернуто тегами <html>, <head> и <body>, которые я, очевидно, наденуне нужноЯ посмотрел на HTML :: Parser, чтобы посмотреть, есть ли параметр, который мог бы решить проблему, но я не смог ничего найти.

Вопрос:
Есть ли простой способ остановить метод синтаксического анализа отупаковка html_to_insert с ненужными тегами?Зная, что я пытаюсь сделать, я делаю задницу задом наперед (есть ли лучший способ)?

Спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 12 октября 2011

Возможно, вы захотите посмотреть на метод guts в HTML :: Tree .Он возвращает только неявные узлы в виде списка.

2 голосов
/ 12 октября 2011

Если вы можете убедиться, что ваш HTML-код соответствует XHTML, то есть это правильный XML-документ, вы можете вместо этого использовать инструменты XML для выполнения этой работы.В прошлом я использовал XML :: Twig для этого типа работы, так было немного проще.

Конечно, если вы анализируете произвольные веб-страницы из Интернета, вы можете этого не делать.иметь этот тип гарантии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...