2

我正在构建一个自定义 CMS 系统来存储文章。

将文章存储在数据库中的正确方法是什么?鉴于一篇文章可能由单个段落或任意数量的段落组成,并且可能包含图像,将每个段落存储在 db 的不同字段中似乎不切实际。

我查看了 Wordpress 如何存储帖子,它似乎将原始 html 集中在单个字段“post_content”中。这是一种公认​​的方法吗?我看到这种方法的缺点是,对于每篇文章,还存储了任何 html 标记。如果我只存储原始文本,那么显示文章的动态页面将只包含一次 html 标记。但是那么如何区分段落和图像呢?

有什么想法吗?

谢谢你。

4

1 回答 1

3

选择的字段将是 BLOB 类型(例如 TEXT)。

然而,要存储什么数据是另一回事,实际上取决于您的实现。我曾在类似的系统上工作过,过去曾将数据存储为:

  • XML - 由应用程序层翻译和转换为 HTML 的自定义 XML 标记。此方法还意味着您可以使用 XPATH 查询对数据进行额外查询。
  • WMD - 将数据存储为 WMD 意味着没有任何 HTML 标签可以帮助防范跨站脚本攻击 (XSS)
  • HTML 这是对数据进行排序的最简单、最快捷的方式。为您清理输入,这将大大有助于 XSS 和其他您不想要的数据,但这会增加 WMD 可以从一开始就解决的更多复杂性。

如果您正在从链接的图像中寻找某种分析数据,我建议将图像 URI 存储在另一个表中并链接到 URL 的主键 ID。这意味着您可以检查而不是重复图像 URL。如果您在域中上传和存储图像,图像 URI 也可以是一个 ID。

于 2013-03-26T22:22:55.217 回答