如何处理网站的富文本问题?

陈袁at互联 发布于 2013/12/31 15:40
阅读 140
收藏 0
Dear All, 我现在这边一直有个问题, 自己尝试了一段时间, 总是没有找到一个很好的办法, 就是关于富文本处理的流程.
用户的输入->服务端的过滤->DB数据库存储->页面的展示, 每一步怎么做.


我自己想, 应该需要达到这样子的需求才行:


1. 用户输入什么, 展示什么. 比如: 用户输入<h1>你好</h1>, 我们也最好显示<h1>你好</h1>
2. 显示表情图片, 现在手机都存在emoji表情, 由于没有升级数据库, 现在暂时用[表情名字]替换, 然后在前端还得替换那些emoji表情.
3. 防止JS注入


解决方案: 就是存得时候, 将<>带有尖括号的全部转换掉, &gt;&lt;存在数据库中, 页面上不转义展示. 这就需要进去的时候转一下, 展示的时候还是设置一下不转义. 但是现在的emoji图片有是<img>, 所以在替换emoji之后, 不转义显示.




如果进入的时候, 什么都不做, 展示的时候, 也什么都不做, 因为展示默认转义的.  但是在JS中, 就会有问题, 需要每次用的时候, 都需要转义一下,很恶心.


反正就是在这块儿一直没有找到好的方法去做. 或者是有什么好的窍门. 现在就是关于纯文本 与 富文本的问题. 每种需要怎么做比较好? 少走弯路.
加载中
0
哪上班
哪上班

其实你在前端显示出来的东西不一定需要从数据库里取出来。

向服务器 post 的时候,首先把用户输入的内容进库,然后把用户输入的内容再返回给前端,jquery append 就可以了。

除非你 load 这个页面的时候不直接从后端读数据,要让 js 来取数据,那就是另外一回事了

返回顶部
顶部