我有一个 Perl 脚本,可以解析 HTML 并修改内容。我想更新下面的脚本,将 noindex 标签包裹在页面上的特定 ID 周围。
相关 Perl 信息
undef $/;
my $doc = <>;
if ($main::atomz_search_url=~ m{mydomain.com/(.+?)/support}si)
{
$doc =~ s{<div id="header">}{<div id="header" class="noindex">}sig;
}
当前 HTML
<form id="search" action="../results.html" method="post">
<fieldset>
...
</fieldset>
</form>
我只是想找到ID为“search”的FORM,并用noindex标签包装整个FORM block (包括原始内容)。
<noindex>
<form id="search" action="../results.html" method="post">
<fieldset>
...
</fieldset>
</form>
</noindex>
注意:我只能使用核心模块,因此 Mojo
不是一个选项。
最佳答案
放下正则表达式并获得为此目的而设计的东西。例如 Mojo::DOM。
use Mojo::DOM;
my $dom = Mojo::DOM->new($doc);
$dom->at("#search")->wrap("<noindex></noindex>");
say $dom;
关于html - 将具有特定 ID 的 HTML 表单封装在新标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655733/