kindeditor编辑器插入程序代码后多出空行问题fix

2022-01-25 From 程序之心 By 丁仪

虽然 kindeditor 编辑器已经比较老了,但是还是很有用的。基于 kindeditor 也能定制一些功能满足特定需求。但是在 kindeditor 编辑器插入程序代码后,经常发现在 <p> 标签和 <pre> 标签之间会多出空行 <p><br></p>。

经过长期观察,发现 <pre> 在 <p></p> 之间就会出现这种情况。猜测是 kindeditor 发现 <pre> 在 <p></p> 之间后会自动把 <pre> 拿出来放在外面,同时 <p></p> 又会被 kindeditor 处理成 <p><br></p>,最终导致此现象。

既然如此,那就替换一下就好了。

html = html.replace(/(<\/pre>)(\s*)(<(?:p|p\s[^>]*)>)\s*(<\/p>)/ig, '$1$2'); // <p></p><pre>替换为<pre>
html = html.replace(/(<(?:p|p\s[^>]*)>)\s*(<\/p>)(\s*)(<pre\s[^>]*>)/ig, '$3$4'); // </pre><p></p>替换为</pre>

替换的位置是在 _formatHtml 方法中。

本文来源:程序之心,转载请注明出处!

本文地址:https://chengxuzhixin.com/blog/article/303457.html

发表感想

chengxuzhixin    2022-01-28 23:57:38    回复

终于解决问题了

© 2016 - 2022 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号