所以我试图在Facebook上实现类似的功能,如果用户发布的内容包含链接,我会在YouTube中包含信息,点击后会嵌入视频。
到目前为止我已经完成了,我只是想知道Facebook如何存储这些信息。
对我来说有两种选择:
1)将帖子保存为正常(只是纯文本),如果帖子包含youtube链接,只要内容已查看,就可以在JavaScript中随意添加。但是我知道,当你发布一个链接时,Facebook会让你选择更改标题,描述等等。这让我感到...
2)生成将在查看时附加的HTML,并将存储它与数据库插入级别的帖子一起生成。
如果是这样,每个帖子是否添加了大量信息?如果您想稍后更改网站上帖子中所有YouTube内容的格式,会发生什么?每个都将单独存储,看起来很痛苦。
管理和管理的最佳方法是什么?设计这种功能?
干杯,
答案 0 :(得分:1)
我将信息本身存储在数据库中,但不是HTML。动态生成HTML,但将数据存储在单独的位置。如果您不想添加太多额外的数据库字段,请考虑以某种序列化形式存储信息(例如PHP中的serialize()
)。
无论如何,我总是保持信息分离,永远不会存储自动生成的HTML,除非它是某种可以重新生成的缓存。
答案 1 :(得分:1)
如果您希望用户在其文本中包含他的视频,请将该链接存储在该用户干预的HTML中,并按原样从页面上的数据库输出。然后,您的用户可以编辑他们的帖子,以决定是在之前,之后,中间放置视频还是根本不放置视频,并且可以更改HTML中的详细信息。
如果您以某种标准方式显示视频,则将视频链接与帖子一起存储在单独的数据库列中,并动态生成HTML。您可以在列中包含大小,颜色等数据...但是灵活性始终限于您决定存储的内容:如果有颜色的数据库颜色,那么您让用户选择颜色,否则..不是。
因此,最灵活的是让您的用户输入HTML。如果您认为他们不满意,或者您想限制他们可以格式化的选择,您可以使用您在stackoverflow,维基百科等中具有的类型的java(脚本)富文本编辑器,具有可能性通过按钮以某些选定的方式编辑文本。您还可以将文章存储在XML中,例如在HTML5的选定子集中(在某个容器中有效的任何内容......),并在演示时对其进行转换。
答案 2 :(得分:-1)
使编辑能够准确决定他想要视频的位置(因为他可以在表格中的任何地方添加链接)。
因为flv / swf带有来自youtube的元数据,所以你不需要保存那些数据, 只是视频的链接。