对于代码高亮处理,是在写入数据库前处理呢,还是不写入数据库,读出后,再处理发到前端?
请指点。
回复内容:
对于代码高亮处理,是在写入数据库前处理呢,还是不写入数据库,读出后,再处理发到前端?
请指点。
推荐你读出来处理,数据库里面只需要记录原始数据即可。
代码高亮本质上属于表现层应该处理的内容,只有里面的代码段才应该放到持久层。
一般的,您的一段文字、一段代码,应该怎么显示啊?到底应该用什么字体啊?这些都应该是表现层的事儿。
既然有一般情况,当然就有特殊情况,比如那些富文本编辑器,就会把用户编辑的样式的都存储到数据库中。
比如 SF 只保存原始内容(我喜欢这种方式,我的博客也是),然后把内容读出来进行统一的显示。做到了内容和展示相分离。
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
至于QQ空间、博客、论坛,一般会把css连同html以前保存到数据库中,给了编辑者足够的灵活性,可以编写各种各样的东东,比如亮瞎眼球的文字闪烁等。
我倾向于数据库中只记录内容。
一般是在前端处理吧,比如segmentfault用了开源的highlight.js
看了题主的意思是铁了心准备放在后端做了。
很显然,写入数据库前处理呢,性能更好,因为不用每次读出都进行高亮处理,只用写入时一次性处理。
不写入数据库,读出时再处理的话,更优雅。因为数据库里只应该记录内容;存储和高亮应该正交地分离。这样也有利于将来的维护和修改。
用Google的Prettify.js使代码高亮









