gpt4 book ai didi

javascript - 如何在javascript正则表达式中替换没有html标签的字符串的每个字母

转载 作者:行者123 更新时间:2023-12-03 10:35:58 26 4
gpt4 key购买 nike

我的代码如下,

var str = '<p>(a) test  <span style="text-decoration: line-through;">
test</span>&nbsp;<span style="font-family: arial, helvetica, sans-serif;">
123 test&nbsp;<span style="font-family: SutonnyMJ;"> test test &nbsp;
<span style="background-color: #008000;">test&nbsp;<span style="background-color: #ffffff;">
&nbsp;test <span style="color: #800080;">test</span></span></span></span></span></p>
<table style="height: 43px;" width="250"><tbody><tr><td>test</td>
<td>test</td></tr></tbody></table>';

for(var eq in G){
var an=new RegExp(eq,"g");
str=str.replace(an,G[eq]); //For Example an = /t/g and G[eq] = a For One Index
}

如果我使用这个没有 HTML 标签的字符串,结果是完美的。

我想制作一个常规的快速图案 -

1. it will not replace any HTML Tag(
Example:<p>,</p> <div>,</div>,&nbsp;,<br/>,<span>,</span>,<table>,</table> and etc)
and HTML Tag Atrribute(Example : style etc).
2. it will not replace inner/element of HTML Tag(Eexample : span,div etc) if font-fmaily
is not SutonnyMJ (font-family: SutonnyMJ) in style attribute ;

我假设替换后test将是abca

结果字符串如下所示,

result_str ='<p>(a) abca <span style="text-decoration: line-through;">
abcd </span>&nbsp;<span style="font-family: arial, helvetica, sans-serif;">
123 test&nbsp;<span style="font-family: SutonnyMJ;"> abca abca &nbsp;
<span style="background-color: #008000;">abca&nbsp;<span style="background-color: #ffffff;">
&nbsp;test <span style="color: #800080;">abca</span></span></span></span></span></p>
<table style="height: 43px;" width="250"><tbody><tr><td>abca</td>
<td>abca</td></tr></tbody></table>';

在 result_str 123 test 中没有更改,因为它的父样式字体系列不是 SutonnyMJ

如何编写 JavaScript 正则表达式模式。请问有什么建议吗?

最佳答案

该模式的起点可能是这样的:

(?:<[^\>]>)+(?:[^.]*(test)[^.]*)+(?:<\/[^\>]>)*

test 替换为您的字符串。

**缺少的是字体系列不应该是 SutonnyMJ 的限制。 **

在这里摆弄并改进它:<强> http://regexr.com/3aj63

关于javascript - 如何在javascript正则表达式中替换没有html标签的字符串的每个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983004/

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