Maison >développement back-end >tutoriel php >Markdown 一般在什么时候进行解析

Markdown 一般在什么时候进行解析

WBOY
WBOYoriginal
2016-06-06 20:33:441374parcourir

目前我使用的是 https://github.com/erusev/parsedown 来解析Markdown

现有两种选择:
1. 在插入数据库前解析
2. 输出时解析

哪种更好些

回复内容:

目前我使用的是 https://github.com/erusev/parsedown 来解析Markdown

现有两种选择:
1. 在插入数据库前解析
2. 输出时解析

哪种更好些

输出时解析, 顺便如果有伪静态的话, 可以生成真正的静态文件, 这样下次就去请求生成的html了, 不再读数据库和走解析的流程, 更新数据的时候只需要删除原来生成的静态文件, 再次触发访问 就可以重新生成.
如果没有伪静态可以采取使用cache(最简单的文件形式的)的方式,访问时先检测cache目录中是否有对应的已经生成好的html文件,如果有就直接输出,当在后台更新数据时,删除cache目录中相应的文件,或者直接清空cache目录,下次访问时就会重新生成.

使用前端jsMarkdown的内容进行解析,需要浏览器去加载相应的js,由js去完成转换,中间需要相应的时间,且页面多加载需要解析Markdown的js文件(多了一个HTTP请求), 不如后端解析后生成相应的html文件,下次直接使用,来得实在.
且不用考虑浏览器是否支持js :)

当然是输出的时候解析(可以缓存下)
你入库之前解析的话,如果要编辑了怎么办?
再反过了?

综合考虑 当然是两份啦。md一份,解析一份。展示的时候取解析好的那一份。
当然输出时解析也行。但是计算机资源瓶颈一般在计算能力上。何必在展示的时候浪费呢。

输出的时候解析,用marked.js即可

你也可以考虑前端解析。

存储解析后数据的话,如另外一个答案所说无法对原文本进行编辑。
存两份的话多占了空间还得同步。
而前端解析的话这些问题都不存在了,反正前端在编辑的时候也是要看预览版的,不如把工作都放在前端,后端只存原本。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn