gpt4 book ai didi

regex - 使用sed转换html标签

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:11 25 4
gpt4 key购买 nike

我有一个标签,如下所示:

<div style="position:absolute;opacity:0.5" class="header">Home</div>

(可能有也可能没有样式或其他属性)并使用 sed 我需要将其转换为跨度,其中跨度的 id 是 div 的类:

<span style="position:absolute;opacity:0.5" id="header">Home</span>

我知道如何在 PHP 中执行此操作,但不幸的是我的 Linux 缺少 :)。
查找符合条件的 DIV 的正则表达式如下:

#<div .* id=(.*)>.*</div>#

但是替换部分不知道怎么写,主要是需要保留div标签名和id之间的内容。现在是凌晨 4:45,所以这也可能与它有关 :p。

如果有任何帮助,我将不胜感激,谢谢。

最佳答案

使用 sed,如果你想要更具体的处理:

sed '/<div/{s/<div /<span /;s/ class *=/ id =/;s!</div!</span!}' input

仍然,这假设开始和结束标签在同一行,并且该行上只有一个 div 标签。它还假定类属性是该行中唯一的一个。

更严格的命令是:

sed 's!<div\([^>]*\) class *= *\([^>]*\)>\([^<]*\)</div>!<span\1 id=\2>\3</span>!g' input

关于regex - 使用sed转换html标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14067494/

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