我正在使用quill.js编辑器来允许用户编写评论。 quill.js的问题是,如果他们按Enter键,则会生成一个新的参数。
<p><br></p>
这使他们可以创建无限的新行。例如输入:
fffff ffff fff
fff
fffffff
ff
将生成此html:
<p>fffff ffff fff</p>
<p>fff</p>
<p><br></p>
<p><br></p>
<p>fffffff</p>
<p><br></p>
<p><br></p>
<p><br></p>
<p>ff</p>
但是我想得到这样的结果:
<p>fffff ffff fff</p>
<p>fff</p>
<p><br></p>
<p>fffffff</p>
<p><br></p>
<p>ff</p>
因此,如果重复换行代码,则应将其替换为一行新行。我该怎么做?
答案 0 :(得分:1)
如果您真的没有其他选择,则可以执行以下操作:
function cleanupHtml() {
document.body.innerHTML = document.body.innerHTML.replace(/<p><br><\/p>/gi, '');
}
document.addEventListener('DOMContentLoaded', cleanupHtml);
<p>fffff ffff fff</p>
<p>fff</p>
<p><br></p>
<p><br></p>
<p>fffffff</p>
<p><br></p>
<p><br></p>
<p><br></p>
<p>ff</p>
答案 1 :(得分:0)
您可以检查gcc -o binary $CFLAGS $INCLUDES $CDEFS a.c b.c c.c d.c e.c
是否出现两次或更多次,然后再出现新行;如果是,则将其替换为一个,如下所示:
<p><br></p>
您甚至可以:
const markup = `
<p>fffff ffff fff</p>
<p>fff</p>
<p><br></p>
<p><br></p>
<p>fffffff</p>
<p><br></p>
<p><br></p>
<p><br></p>
<p>ff</p>
<p><br></p>
`;
const result = markup.replace(/(<p><br><\/p>\n){2,}/g, '<p><br><\/p>\n');
console.log(result);
因此您将来可以轻松更改元素。