如何处理代码高亮问题?

WBOY
풀어 주다: 2016-06-06 20:48:14
원래의
1020명이 탐색했습니다.

对于代码高亮处理,是在写入数据库前处理呢,还是不写入数据库,读出后,再处理发到前端?

请指点。

回复内容:

对于代码高亮处理,是在写入数据库前处理呢,还是不写入数据库,读出后,再处理发到前端?

请指点。

推荐你读出来处理,数据库里面只需要记录原始数据即可。

代码高亮本质上属于表现层应该处理的内容,只有里面的代码段才应该放到持久层

一般的,您的一段文字、一段代码,应该怎么显示啊?到底应该用什么字体啊?这些都应该是表现层的事儿。

既然有一般情况,当然就有特殊情况,比如那些富文本编辑器,就会把用户编辑的样式的都存储到数据库中。

比如 SF 只保存原始内容(我喜欢这种方式,我的博客也是),然后把内容读出来进行统一的显示。做到了内容和展示相分离。

至于QQ空间、博客、论坛,一般会把css连同html以前保存到数据库中,给了编辑者足够的灵活性,可以编写各种各样的东东,比如亮瞎眼球的文字闪烁等。

我倾向于数据库中只记录内容

一般是在前端处理吧,比如segmentfault用了开源的highlight.js

看了题主的意思是铁了心准备放在后端做了。

很显然,写入数据库前处理呢,性能更好,因为不用每次读出都进行高亮处理,只用写入时一次性处理。

不写入数据库,读出时再处理的话,更优雅。因为数据库里只应该记录内容;存储和高亮应该正交地分离。这样也有利于将来的维护和修改。

用Google的Prettify.js使代码高亮

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!