HTML :: Element -> Заменить текстовый узел новым HTML :: Element - PullRequest
1 голос
/ 18 августа 2010

Как заменить текстовый узел новым <p>test</p> в HTML :: Element?

Заранее спасибо.

1 Ответ

1 голос
/ 18 августа 2010

Это собственный ответ Мак Киллберса, оторванный от его вопроса, к которому он относится:


=== Отвечая на мой собственный вопрос ===

    $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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...