在html中如何使"回车"生效, 即在数据库保存的是两行的状态?

项目中是实现文本编辑的功能因为前端使用的三方和客户端的不同,所以需要做一些调整,现在需要把前端拿到的h5内容进行一些处理使每个</p>标签后跟上一个换行保存到数据库应该是这样的:
<p>第一行</p>
<p>第二行</p>
而不会是 <p>第一行</p><p>第二行</p> ,这个该怎么做处理呢?

阅读 3.7k
4 个回答

在保存到数据前的获取html后可以先正则批量替换一下。
举个例子

'<p>233</p><p>66666</p>'.replace(/<\/(.*?)>/ig,a => a+'\n')

0D0A就是回车换行的标志。你前端拿到H5的时候匹配一下正则,把所有的《/p》</hn> 能换行的结束标记后面都加上换行标志就可以了"\n"

我正好做了这个业务的,你在接受到数据之后,用正则把rn全部匹配成</p><p>,然后再在首拼接<p>,尾部拼接</p>即可。

看了下三方的源码,里面先是过滤掉rn,然后判断p标签里的内容是否为空,不为空则创建p节点否则不创建,所以我在创建完p节点后拼接了一个兄弟节点,这个节点是文本节点就是'n'了这样就可以了.

var p_text = document.createTextNode('n');
parent.appendChild( p_text );

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题