From the docs of HTML::Element:
Comment pseudo-elements These are element objects with a "$h->tag" value of "~comme +nt", and the content of the comment is stored in the "text" attribut +e ("$h->attr ("text")"). For example, parsing this code with HTML::TreeBuilder... <!-- I like Pie. Pie is good --> produces an HTML::Element object with these attributes: "_tag", "~comment", "text", " I like Pie.\n Pie is good\n "
Which applied as
#!/usr/bin/perl use 5.18.2; use warnings; use HTML::TreeBuilder; my $root = HTML::TreeBuilder->new_from_file (\*DATA); $root->look_down (_tag => "div", id => "footer") ->replace_with (HTML::Element->new ("~comment", text => " foobar " +)); say $root->as_HTML (undef, " ", {}); __DATA__ <div id="quiteok">ok</div> <div id="footer"> bad <div> stuff <div> and lots of it </div> </div> </div> <div> something good </div>
Results in
<html> <head> </head> <body> <div id="quiteok">ok</div> <!-- foobar --> <div> something good </div> </body> </html>
In reply to Re: Find and replace specific elements with HTML::TreeBuilder
by Tux
in thread Find and replace specific elements with HTML::TreeBuilder
by mldvx4
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |