gpt4 book ai didi

regex - 如何使用 Perl 有选择地修改 HTML 文档中脚本标签的 src 属性?

转载 作者:行者123 更新时间:2023-12-04 05:40:59 27 4
gpt4 key购买 nike

我需要在 Perl 中编写一个正则表达式,它将用 [perl]texthere[/perl] 作为所有 srcs 的前缀,如下所示:

 <script src="[perl]texthere[/perl]/text"></script> 

有什么帮助吗?谢谢!

最佳答案

使用合适的解析器,例如 HTML::TokeParser::Simple :

#!/usr/bin/env perl

use strict; use warnings;
use HTML::TokeParser::Simple;

my $parser = HTML::TokeParser::Simple->new(handle => \*DATA);

while (my $token = $parser->get_token('script')) {
if ($token->is_tag('script')
and defined(my $src = $token->get_attr('src'))) {
$src =~ m{^https?://}
or $token->set_attr('src', "[perl]texthere[/perl]$src");
}
print $token->as_is;
}

__DATA__
<script src="/js/text.text.js/"></script>

And at the same time, ignore scrs that begin with http, as such:

<script src="https://websitewebsitewebsite"></script>

输出:



同时,忽略以 http 开头的 scr,如下所示:

关于regex - 如何使用 Perl 有选择地修改 HTML 文档中脚本标签的 src 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com