2010-10-17 33 views
0

是否有CPAN模塊或代碼片段,我可以用它來修改本地HTML文件而不使用regExp?如何在Perl中修改本地HTML文件?

我想要做什麼:

  1. 變化的開始標記(例如:<div><div id="newtag">
  2. 之前另一個(例如添加一個標籤:</head><script type="text/javascript"> ...</script></head>
  3. 移除標記
  4. 閱讀一個給定標籤的內容(< - 可以用XML/HTML解析器完成)
+4

StackOverflow已經有相當多的答案了,很多都有詳細的例子。總是先搜索。 :)另外,如果您想知道是否有CPAN模塊,請轉至[CPAN](http://search.cpan.org)並查看。 :) – 2010-10-17 20:10:53

回答

5

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

HTML::Parser是Perl的標準HTML解析器。幾乎所有的東西都建立在它之上。

HTML::TokeParser是HTML :: Parser的替代接口。它根據需要返回東西,而不是將所有內容傳遞給回調函數。

HTML::TreeBuilder從HTML中構建一個類似DOM的樹,然後您可以修改它。

HTML::TreeBuilder::XPath擴展HTML :: TreeBuilder支持XPath。

HTML::Query擴展HTML :: TreeBuilder類似jQuery的選擇器。

pQuery是另一個爲HTML :: TreeBuilder帶來更完整的jQuery兼容性的模塊。