我的文字包含多个换行标记,如此
<br></br>
和几个双线换行如此
<br></br><br></br>
我想摆脱单<br></br>
,但我想保留双重的.filter("<br></br>")
使用jquery或Jscript我怎么能告诉它这样做
当我使用<br></br><br></br>
时它没有用,因为它摆脱了两者
有没有办法用replaceWith替换Public - may be cached in public shared caches (proxies and users)
Private - may only be cached in private cache (users only)
no-Cache - may not be cached
no-Store - may be cached but not archived
的实例?或者其他一些方式
答案 0 :(得分:3)
最简单的方法是分三个步骤:
text = text.
replace(/<br><\/br><br><\/br>/g, '____MAGICMARKER____').
replace(/<br><\/br>/g, '').
replace(/____MAGICMARKER____/g, '<br></br><br></br>')
希望____MAGICMARKER____
永远不会成为你文本的一部分。另一种可能性(以及更好的,万无一失的)将是:
text = text.replace(/(<br><\/br>)+/g, function(all, once) {
if (all == once) return "";
return all;
});
请注意,这是在假设您的问题前提是正确的情况下编写的:您有一个文本(即一个字符串)。如果您有文档片段,则需要在innerHTML
上执行此操作。
答案 1 :(得分:0)
尝试使用html
,RegExp
/<br><br>+[\s|\n]/g
匹配<br><br>
,后跟空格字符或换行符
$("body").html(function(i, html) {
return html.replace(/<br><br>+[\s|\n]/g, "")
});
console.log($("body").html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<body>
<br></br>
and several double line breaks like so
<br></br><br></br>
<br></br>
and several double line breaks like so
<br></br><br></br>
<br></br>
and several double line breaks like so
<br></br><br></br>
</body>
&#13;