Как я могу изменить локальный файл HTML в Perl? - PullRequest
0 голосов
/ 17 октября 2010

Существует ли модуль CPAN или фрагмент кода, который я могу использовать для изменения локальных файлов HTML без использования regExp?

Что я хочу сделать:

  1. Изменить начальный тег (пример: <div> на <div id="newtag">)
  2. Добавить тег перед другим (пример: </head> до <script type="text/javascript"> ...</script></head>
  3. Удалить теги
  4. Прочитать содержимое данного тега. (<- хорошо, это можно сделать с помощью синтаксического анализатора XML / HTML. </li>

Ответы [ 2 ]

5 голосов
/ 17 октября 2010

Если у вас есть HTML, а не XHTML, то вы не хотите использовать синтаксический анализатор XML.

HTML :: Parser - это стандартный анализатор HTML для Perl.Почти все остальное построено поверх него.

HTML :: TokeParser - это альтернативный интерфейс HTML :: Parser.Он возвращает вещи по требованию, а не передает все в обратные вызовы.

HTML :: TreeBuilder создает DOM-подобное дерево из HTML, которое затем можно изменить.

HTML :: TreeBuilder :: XPath расширяет HTML :: TreeBuilder с поддержкой XPath.

HTML :: Query расширяет HTML :: TreeBuilder с помощью jQuery-подобных селекторов.

pQuery - еще один модуль, обеспечивающий более полную совместимость с jQuery для HTML :: TreeBuilder.

1 голос
/ 17 октября 2010

CPAN

Простой поиск CPAN возвращает

XPATH

Похоже, вы не знакомы с XPath.Вот краткое руководство, чтобы познакомить вас.Это не Perl, но он объяснит концепции.

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