我正在处理一个格式化文本块的 CMS,如下所示:
<p id="V01-cntntTxt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit。<br>
Vivamus lacus ipsum, semper non consequat eu, facilisis at lectus。Vestibulum et magna ac<br>
odio semper porttitor lacinia congue orci。Vivamus suscipit eleifend dolor,在 hendrerit<br>
turpis bibendum ut。<br><br>
Morbi interdum augue et nisl ullamcorper sit amet ornare<br>
lorem tempus。Duis nec nisi quis ipsum pulvinar volutpat。Suspendisse venenatis malesuada metus,
nec pretium dui cursus eget。Donec vitae lorem vitae risus dapibus malesuada congue vel nunc。</p>
使用此 CMS 的公司已将使用 SHIFT+Enter x 2 来指示段落分隔符和单个 Shift+Enter 作为换行符作为标准做法。我无法修补或更改 CMS 的工作方式。
这是期望的结果:
<p id="V01-cntntTxt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit。Vivamus lacus ipsum, semper non consequat eu, facilisis at lectus。Vestibulum et magna ac odio semper porttitor lacinia congue orci。Vivamus suscipit eleifend dolor,在 hendrerit turpis bibendum ut。</p><p>
Morbi interdum augue et nisl ullamcorper sit amet ornare lorem tempus。Duis nec nisi quis ipsum pulvinar volutpat。Suspendisse venenatis malesuada metus, nec pretium dui cursus eget。Donec vitae lorem vitae risus dapibus malesuada congue vel nunc。</p>
我需要<br><br>
用结束和开始</p><p>
标签替换双标签以保持分节符,然后删除任何剩余<br>
的用于换行符的单个标签。
我已经尝试过了,它几乎可以工作:
<script>
$('#V01-cntntTxt').html($('#V01-cntntTxt').html().replace(/<br><br>/g, '</p>'));
$('#V01-cntntTxt').html($('#V01-cntntTxt').html().replace(/<br>/g, ' '));
</script>
但是,结果以一个空段落结束。中间的两个</p></p>
标签是反的。它应该是</p><p>
而不是<p></p>
。似乎正在插入一个开始标签,即使我没有指定它应该。
这是上面脚本的结果,标签向后:
<p id="V01-cntntTxt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit。Vivamus lacus ipsum, semper non consequat eu, facilisis at lectus。Vestibulum et magna ac odio semper porttitor lacinia congue orci。Vivamus suscipit eleifend dolor,在 hendrerit turpis bibendum ut。<p></p>
Morbi interdum augue et nisl ullamcorper sit amet ornare lorem tempus。Duis nec nisi quis ipsum pulvinar volutpat。Suspendisse venenatis malesuada metus, nec pretium dui cursus eget。Donec vitae lorem vitae risus dapibus malesuada congue vel nunc。</p>