我正在寻找一种在文章中管理链接的策略。文章的正文保存在数据库中,并在页面组装过程中拉取。为了方便地定义和管理链接,应该在数据库中保存哪些内容?
一些纯粹主义者认为,标记永远不应该存储在数据库中。一些人认为,在适度的情况下是可以的。但对我来说,链接的概念几乎离不开它的html标记。
有没有比简单地嵌入“锚文本”更好、更简洁的方式来表示文章中的链接(在数据库中)?
我提出的一个想法是嵌入足够的标记来从语义上描述感兴趣的区域,并在不同的表中将这些概念映射到实际的URL。所有遇到的特定概念都与链接包装在一起。
<p>Here is an example of a
<span class="external-reference semantic-web">semantic</span>
approach to link management.</p>然后,一个表可能会将文章的URL和'semantic-web‘的关键类与http://en.wikipedia.org/wiki/Semantic_Web之类的URL关联起来。
<p>Here is an example of a <span class="external-reference semantic-web">
<a href="http://en.wikipedia.org/wiki/Semantic_Web">semantic</a></span>
approach to link management.</p>我喜欢这种方法的一点是,我所有的URL都在数据库中的一个位置。我可以在不触及文章正文的情况下从技术上更改或删除链接。我有非常好的CSS类名。
我不喜欢维护另一个表,以及渲染时间中的另一个步骤/阶段。它可能会减慢响应时间。
有没有其他策略可以提供卓越的链路管理?
发布于 2009-11-27 22:09:13
您可能想看看模板(比如Smarty for PHP)。
我同意标记通常不应该保存在数据库中。
但是,您也可以考虑实现“指针”概念,即在每个链接处,打破页面的存储,在表中添加指向该链接的指针,然后在链接表中添加指向该页面的下一段内容的指针。(我不知道这会有多复杂--这只是一个想法。)
或者看看各种CMS工具是如何处理这个想法的。有些只是将数据库中的所有内容都放在一个大的文本块中,而另一些则依赖于模板,而另一些则可能做完全不同的事情(比如面向对象的环境,比如Plone)。
发布于 2009-11-27 12:47:38
据我所见,有几次这样做的尝试。
一种方法是通过URL重定向。您可以在服务器上实现一个逻辑组件,该组件将解释URL请求的内容,而不是内容的路径。
另一种尝试是,链接最初设置为可以在数据库中查找的参考值,并在运行时/生成时请求。
无论如何,您都必须使用某种标识符引用您希望链接到的材料。
https://stackoverflow.com/questions/1806776
复制相似问题