正如前文所提到的,使用所见即所得网页编辑器通常会限制网页上的优化。这些软件生成的HTML语言不带有可以充分描述页面单元结构的标签。
如果正在开发一个大型网站,有很多非专业人士经常会提供内容,则可以添加对简单的自定义标记语言的支持。标记语言可以轻松地管理那些由不熟悉HTML语言的文编人员提供的内容。另外,如果将标记语言转化为HTML,还可以使网站开发人员完全控制HTML的外面。
为了实现这个支持,需要使用一个简单的语法分析程序。为了便于扩展,该语法分析程序要实现可编程特性,能够生成全局变换,这已经完全超出了CSS的范围和能力。
这样做可以达到两个目的。一是可以创建清晰和优化的HTML,二是文编人员不需要学习HTML。实际上,使用标记语言,只需让文编人员在添加必要的单元和样式时符合设置好的翻译规则即可,甚至可能比所见即所得的工具更容易使用。当遇到特别复杂的情况时,使用标记语言的文编人员都可以用“{HTML}”标签来使用HTML。
这只是一个很简单的例子,但由此可见当构建更为复杂多的内容管理系统时,这个方法将多么有用。这个小脚本知道对各种自定义标记标签的处理方法,而且这些标签意义都显而易见:{bold}、{italic}、{underline}、{heading}、{subheading}、{link}、{elink}、{这是打开一个新窗口的链接}、{unordered-list}、{ordered-list}、{list-element}、{picture}和{comment}。
标记文件markup.txt由自定义标记单元构成,并不包含HTML单元,但是,只要使用很简单的自定义标记库,便可在运行过程中将所有的自定义标记单元转换为标准的HTML标签。
函数custom_markup_translate()主要由大量的替换正则表达式组成,它们将自定义标记代码翻译成HTML。