gpt4 book ai didi

html - 如何使用 Perl 在 HTML 的第 2 段和第 3 段之间插入内容?

转载 作者:可可西里 更新时间:2023-11-01 13:40:45 25 4
gpt4 key购买 nike

我正在尝试匹配第 2 段和第 3 段之间的点以插入一些内容。段落由 <p> 分隔或 2 个换行符,混合。这是一个例子:

text text text text
text text text text

<p>
text text text text
text text text text
</p>
<--------------------------- want to insert text here
<p>
text text text text
text text text text
</p>

最佳答案

假设没有嵌套段落...

my $to_insert = get_thing_to_insert();
$text =~ s/((?:<p>.*?</p>|\n\n){2})/$1$to_insert/s;

应该就可以了。

使用扩展格式:

$text =~ s{
( # a group
(?: # containing ...
<p> # the start of a paragraph
.*? # to...
</p> # its closing tag
| # OR...
\n\n # two newlines alone.
){2} # twice
) # and take all of that...
}
{$1$to_insert}xms # and append $val to it

注意,我用\n\n作为分隔符;如果您使用的是 Windows 样式的文本文件,则需要为 \r\n\r\n ,或者如果它可能是混合的,类似于 \r?\n\r?\n制作 \r可选。

另请注意,因为 '\n\n' 在 | 之后, <p> block 中可以有双换行符 - <p></p>优先考虑。如果你想在 <p> 中换行优先考虑,交换它们。

关于html - 如何使用 Perl 在 HTML 的第 2 段和第 3 段之间插入内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2731470/

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