Javascript中的正则表达式删除嵌套段落 保留此内容
使用已应用的样式保存内容和最后一段, 那是Javascript中的正则表达式删除嵌套段落 保留此内容 ,javascript,jquery,regex,Javascript,Jquery,Regex,使用已应用的样式保存内容和最后一段, 那是 对于您提供的具体案例,请尝试以下简单代码: <p style="text-align: right;"> <p style="text-align: center;"> <p style="text-align: left;"> <p style="text-align:center;"> leave this content
对于您提供的具体案例,请尝试以下简单代码:
<p style="text-align: right;">
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align:center;">
leave this content
</p>
</p>
</p>
</p>
<br>
对于更通用的情况,您必须使用HTML解析器。Regex是
var elementToKeep = $('selectorToParagraph');
elementToKeep.html(elementToKeep.text());
(.*?)
那就试试这个
<p style="(.*?)">(.*?)<\/p>
content=content.replace(“(.*)”,“
$2
”;
我试试这个
content = content.replace("<p style="(.*?)">(.*?)<\/p>","<p style="$1">$2</p>");
]+)?>((?:(?!])*)
将样式更改为段落的右侧。这只有在正则表达式中才可能
请参见演示:预期输出请您在问题上书写。它在外部,并且可能超过两个或三个预期输出:
保留此内容
使用HTML解析器而不是正则表达式。正则表达式是错误的工具:1。它们在匹配分组结构方面并不好——没有JS的正则表达式引擎所没有的扩展,2。有。不幸的是,嵌套段落是无效的HTML,否则jQuery可以轻松做到这一点:(好的,我应该如何用最后一个段落包装内容问题是rich editor错误地读取了嵌套段落的样式
<p(?: [^>]+)?>((?:(?!<\/?p[ >]).)*)<\/p>