是否有CPAN模塊或代碼片段,我可以用它來修改本地HTML文件而不使用regExp?如何在Perl中修改本地HTML文件?
我想要做什麼:
- 變化的開始標記(例如:
<div>
到<div id="newtag">
) - 之前另一個(例如添加一個標籤:
</head>
到<script type="text/javascript"> ...</script></head>
- 移除標記
- 閱讀一個給定標籤的內容(< - 可以用XML/HTML解析器完成)
是否有CPAN模塊或代碼片段,我可以用它來修改本地HTML文件而不使用regExp?如何在Perl中修改本地HTML文件?
我想要做什麼:
<div>
到<div id="newtag">
)</head>
到<script type="text/javascript"> ...</script></head>
如果您有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兼容性的模塊。
CPAN
簡單CPAN搜索返回
XPATH
這聽起來像你不熟悉的XPath。這是一個快速教程,讓你熟悉。它不是Perl,但它會解釋這些概念。
StackOverflow已經有相當多的答案了,很多都有詳細的例子。總是先搜索。 :)另外,如果您想知道是否有CPAN模塊,請轉至[CPAN](http://search.cpan.org)並查看。 :) – 2010-10-17 20:10:53