如何在Perl中修改本地HTML文件?

时间:2010-10-17 15:09:50

标签: html perl parsing

我是否可以使用CPAN模块或代码段来修改本地HTML文件而不使用regExp?

我想做什么:

  1. 更改开始标记(例如:<div><div id="newtag">
  2. 在另一个标签之前添加标签(例如:</head><script type="text/javascript"> ...</script></head>
  3. 删除标签
  4. 阅读给定标签的内容。 (&lt; - 确定这可以通过XML / HTML解析器完成。

2 个答案:

答案 0 :(得分:5)

如果你有HTML而不是XHTML,那么你不想使用XML解析器。

HTML::Parser是Perl的标准HTML解析器。几乎所有其他东西都建立在它之上。

HTML::TokeParser是HTML :: Parser的替代界面。它按需返回内容,而不是将所有内容传递给回调。

HTML::TreeBuilder从HTML构建类似DOM的树,然后您可以修改它。

HTML::TreeBuilder::XPath扩展了HTML :: TreeBuilder并支持XPath。

HTML::Query使用类似jQuery的选择器扩展HTML :: TreeBuilder。

pQuery是另一个为HTML :: TreeBuilder提供更完整的jQuery兼容性的模块。

答案 1 :(得分:1)

<强> CPAN

简单的CPAN搜索返回

<强> XPATH

听起来你不熟悉XPath。这是一个让你熟悉的快速教程。它不是Perl,但它会解释这些概念。