如何使用Perl删除特定的HTML?<table> </table>

时间:2012-08-03 15:36:20

标签: html perl html-table html-parsing

我需要根据表的内容删除某些表。我使用HTML::Tree解析HTML以构建HTML树。

我使用replace_with_content删除了表,但只删除了表标记并保留了表的内容。

请注意,这些表是嵌套的。

my $content = get($url);

my $tree = HTML::Tree->new();
$tree->parse($content);

my (@table_tags) = $tree->look_down( '_tag' , 'table' );
my $string = $table_tags[0]->as_HTML;

my $tree2 = HTML::Tree->new();
$tree2->parse($string);

my (@table_tags2) = $tree2->look_down( '_tag' , 'table' );
$table_tags2[3]->replace_with_content();

2 个答案:

答案 0 :(得分:4)

如何使用delete代替replace_with_content

答案 1 :(得分:1)

删除您想要的表格

$table->delete;

我不确定您是否在选择要删除的表时遇到问题,但是如何执行此操作取决于条件是什么。 HTML::Element中的方法可让您浏览树并测试其中的部分内容,或者您​​可以为调用look_down

添加条件