代码之家  ›  专栏  ›  技术社区  ›  Daniel Rhoden

链接的概念是否与其HTML标记不可分割?

  •  4
  • Daniel Rhoden  · 技术社区  · 15 年前

    我正在寻找一种策略来管理文章中的链接。文章的正文保存在数据库中,并在页面组装期间提取。为了方便定义和管理链接,数据库中应该保存哪些内容?

    一些纯粹主义者认为标记不应该存储在数据库中。有些人认为适度是可以的。但对我来说,链接的概念几乎与它的HTML标记密不可分。

    有没有比简单地嵌入“锚文本”更好、更简洁地在文章(数据库)中表示链接的方法?

    我提出的一个想法是嵌入足够多的标记来语义上描述感兴趣的区域,然后在另一个表中,将这些概念映射到实际的URL。一个特定概念的所有遭遇都被这个链接所包围。

    <p>Here is an example of a
    <span class="external-reference semantic-web">semantic</span> 
    approach to link management.</p>
    

    然后,一个表可能会将文章的URL和“语义Web”的键类与类似于 http://en.wikipedia.org/wiki/Semantic_Web

    <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类名。

    我不喜欢有另一个表来维护,以及渲染时间中的另一个步骤/阶段。它可以减慢响应时间。

    有没有其他策略可以提供更好的链接管理?

    2 回复  |  直到 14 年前
        1
  •  1
  •   warren    15 年前

    您可能需要查看模板(例如 Smarty 对于php)。

    我同意加价不应该 正常地 保存在数据库中。

    但是,您也可以考虑实现一个“指针”概念,在每个链接处,中断页面的存储,在表中向链接添加一个指针,然后在链接表中向页面的下一个内容段添加一个指针。(我不知道这会有多复杂——只是一个想法。)

    或者看看各种CMS工具如何处理这个想法。有些只是将数据库中的所有内容作为一个大的文本块,而另一些则依赖于模板化,而另一些则可以完全执行其他操作(如面向对象的环境,如 Plone )

        2
  •  1
  •   monksy    15 年前

    我已经看到了一些这样做的尝试。

    一种方法是通过URL重定向。您可以在服务器上实现一个逻辑组件,该组件将解释URL请求的内容,而不是内容的路径。

    另一种尝试是,链接原始设置为引用值[可以在数据库中查找],并在运行时/生成时请求。

    无论如何,您必须使用某种标识符引用希望链接到的材料。