gpt4 book ai didi

javascript - HTML 标签末尾的换行符?

转载 作者:行者123 更新时间:2023-11-30 00:13:34 25 4
gpt4 key购买 nike

我正在使用以下正则表达式将 html 标记替换为相同的 html 标记加上一个换行符:

content = content.replace(new RegExp('(</.*?>)', 'gi'), '$1 \n').replace(/\/>/g,'/> \n');

这是我网站上发生的事情:

我写了一些文字。我复制文本。我粘贴到一个 div 中并运行上面的代码,其中添加了换行符。然后我将此文本从 div 中复制出来。然后我添加更多内容,并重复该过程。

问题是,当我再次执行复制和粘贴时,在之前的内容中添加了一个换行符。所以我第二次执行上述操作时,我得到了两个换行符,第三次,三个换行符等等。

如何让上面的表达式用标签和换行符替换标签,并忽略(或再次替换)已经有换行符的标签。

最佳答案

你可以试试这个:

var content = "<Test>Test</Test><Test2>Test2</Test2><Test3 /><Test4>Test4</Test4>";
var regexTest = new RegExp('(</.*?>)(?!\\n.*)', 'gi');
var regexTest2 = new RegExp('/>(?!\\n.*)', 'g');
content = content.replace(regexTest, '$1\n').replace(regexTest2,'/>\n');
alert(content);
content = content.replace(regexTest, '$1\n').replace(regexTest2,'/>\n');
alert(content);
//remove linebreaks
content = content.replace(/\n/g, '');
alert(content);

这会添加一个否定的先行 (?!...),因此它会检查以确保还没有 \n。如果你去掉 $1\n 以及 />\n 之间的空格,那么你就不会正则表达式中不需要 \\s...

关于javascript - HTML 标签末尾的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35558389/

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