1
loading 2012-08-06 17:25:19 +08:00
这要看你所谓的纯文本是指什么了,你用的是非html语法吧,是markdown或者textile(可能拼错)这些?
如果是的话,可以像project picky一样,都存下来,浏览的时候读取html,编辑时编辑你的文本。 如果不是,我不知道你指的是啥。。。 |
2
waredugu 2012-08-06 17:36:51 +08:00
text html各一份
|
3
Yan_6 OP @loading 纯文本就是文章内容。
假如html文件内容如下: <!DOCTYPE HTML> <html> <head>.....</head> <body> <p> 文章内容。。。 </p> </body> </html> 问题是上面所有的内容(包括html标签)都存储还是只存储文章(比如上面标签<p>里边的内容)? |
4
evlos 2012-08-06 18:12:31 +08:00 2
数据库只存纯文本,包括 \n \r \t 之类的换行符和缩进。(就是 textarea 里面的内容)
如果要显示,再去结合模版 render 出来,如果要生成静态页面的话,就把 render 生成的 html 保存到临时文件目录。 别把 html 存数据库啊,太傻了那样子。否则修改模版什么的不累死人 - -。而且还占用空间。 如果修改了模版的话,需要生成静态页面就再 render 一次就好,很方便的。 html 不存数据库,一般只存到临时文件目录。 纯文本存到数据库并以此为主。 |
5
Yan_6 OP @evlos 有道理。把html存数据库确实占用空间,而且影响服务器性能。不过当html结构比较繁杂的时候,似乎又不太好处理。比如带图片,又有css等。看下面例子,一片文章分好几个段落,每个段落的css样式还不一样,并且还带有图片。这个时候怎么存储?
<!DOCTYPE HTML> <html> <head>.....</head> <body> <p style="style1...."> 第一段内容。 </p> <img style="style2...." src="..."/> <p style="style3...."> 第二段内容。 </p> <p style="style4...."> 第三段内容。 </p> </body> </html> |
6
loading 2012-08-06 19:28:17 +08:00
你是想每一页都不一样么?为了你便于理解是从<html>--</html>
如果是,那就两个都存。 如果不是,你也许还不知道“模板”这个东西。 随便找个博客程序,看下数据库吧,最好随意做个“皮肤”,你就懂了。 你理解错了。 正常是只存下面这些的: <p style="style1...."> 第一段内容。 </p> <img style="style2...." src="..."/> <p style="style3...."> 第二段内容。 </p> <p style="style4...."> 第三段内容。 </p> 而且你会看到至少外面有这样的东西: <div id="content"> </div> |
7
jean 2012-08-06 19:30:47 +08:00
自己博客系统的话显然就用markdown了,都不用想,很成熟的解决方案
|
9
loading 2012-08-06 19:51:02 +08:00
我懂了,你用了WYSIWYG编辑器,想FCKeditor这种,然后你就茫然了 ^_^
|
11
evlos 2012-08-06 20:51:16 +08:00
@Yan_6 。。。。为。。。为神马要把代码写成这个样子。。。。
CSS 就写到 .css 文件里面,没有必要不要用 style 标签,这。。这太糟糕了。。。 (额,看到 @loading 回复原来你用了所见即所得编辑器。。。额,我个人比较抵触这个) 啊啊,图片的话,那么一般都是用 <img 这样的 html 代码存到数据库里面。这个的确是例外。 因为图片出现的位置是没有规则的,每篇文章都不一样,除非每篇文章是一样的,否则只能这样。 或者如果不想这样,就用短代码,比如 [imgid=12] 放到纯文本当中。 渲染(render)页面(就是把纯文本放到模版里面然后显示出来)的时候,用程序代码识别这段短代码,然后比如 12 是图片数据表里面需要被显示的图片的ID,那么就把短代码替换成显示图片的html代码这样子。 |