HTML :: Element - >用新的HTML :: Element替换文本节点

时间:2010-08-18 03:11:16

标签: html perl

如何用HTML :: Element中的新<p>test</p>替换文本节点?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这是Mak Killbers自己的答案,从他的问题中扯到了它所属的地方:


===回答我自己的问题===

    $ele->objectify_text();
    my @childNodes = $ele->content_list();
    for(my $j=0; $j < scalar(@childNodes); $j++) {
       my $childNode = $childNodes[$j];
       if (ref($childNode) && ($childNode->tag() eq '~text')) { #TEXTNODE
          my $newElement = HTML::Element->new('p');
          $newElement->push_content($childNode->attr('text'));
          $childNode->replace_with($newElement)->delete();
       }
    }
    $ele->deobjectify_text();