富文本编辑器wangEditor中转义字符的问题

        前段时间做项目的时候,要使用富文本编辑器,采用的是wangEditor,结果当用户在为文本添加样式的时候,发现居然无法直接保存,遂查看后台数据。发现很多样式都被过滤掉了,后台接受的数据中根本没有样式。在网上浏览一番,发现主要是样式标签中 < 和 > 导致的,只要转义和反转义即可解决问题。

        例如:要发送值后台的文本为text,则在传入后台时修改为text.replace(/</g, "&lt;").replace(/>/g, "&gt;")。若要进行反转义,则可以表示为text.replace(/&lt;/g, "<").replace(/&gt;/g, ">")。

        另外,还发现当使用空格为文本添加缩进时,会同样出现无法保存样式的问题,查看了后台数据库发现对于空格,其表示为&amp;nbsp;,想着也比较简单,直接在原来的基础上再次使用两次replace()即可,即text.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&").replace(/&nbsp;/g, " "),但是在前端发现虽然文本中有空格,但是在html中无法直接显示,当时我tm……后来想想,其实不需要最后一个replace()函数的,因为浏览器在解析html文件时会自动将&nbsp;解释成空格的,即使用text.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&")即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章