如何在动态网站中分离设计和内容?

时间:2014-07-29 10:23:10

标签: html separation-of-concerns

在正常情况下,我可以将文本和样式分开,但是当文本是动态的时(我可以由管理员用户编辑),我应该怎么做呢?用户当然想要使用粗体,斜体等,但是如果我放一个普通的html编辑器(我认为)我打破了分离规则,因为文本中会有html元素。 (我可以使用BB代码,但它是一样的。)
从长远来看,我认为当我想在任何非HTML环境中使用文本时,它可能会导致问题。当然我可以删除html标签,但这不是我想要使用的方式(不是因为它不起作用,而是原始的理论问题)。
在某些情况下,我可以拆分句子来解决这个问题,但我认为这是一个不好的方法,因为这些部分是无意义的,而且它也不会那么容易编辑。

对此有什么好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

那是完全可以的。 您为用户提供了oppertuniny来为文本设置一些属性(BBCodes推荐)。 那是内容。然后,它是设计的一部分,用于解释属性并对其进行样式化。 例如,您可以提供该功能,让用户定义类似[headline]MyHeadline[/headline]的内容。这是纯粹的内容。

如何用HTML替换[headline]以及如何设置结果文本的样式取决于设计。

编辑:我建议BBCodes提供一组封闭的功能。这可能更容易处理。您可以在另一个上下文中使用它们并解释它们,而不是剥离HTML。

答案 1 :(得分:0)

如果输入的标签是语义标签,即他们使用的是<i>标签而不是style="font-style:italic",那么您的设计和内容仍然是分开的。

分离设计和内容是将网站的演示文稿与可读代码分开,而不是完全删除标记。

我建议你专注于语义HTML。