PC6下载站

分类分类

标记语言处理模型(演示版)

关注+2004-11-07作者:蓝点

这是一个模仿html,xml语言从文本转化为对象这一过程的模型,并降低了一些如tagName不能修改,包围标记只能是“<”、“>”等的限制,尽可能的扩大对文本的自由处理。

通过这个模型也就可以制作出如 html 和 ubb 的双向转换程序,Internet Explorer中显示XML文档一样有hightLight和折叠功能的视图等一系列的关于标记语言的实例程序。

标记语言处理模型


属性







方法









实例






<BR> function ubb2html()<BR> {<BR> var ubbDocument = MarkupLanguageDocument(code.value, "[", "]")<BR> var allObject = ubbDocument.all()<BR> <BR> for (var i=0; i<allObject.length; i++)<BR> {<BR> if (allObject[i].tagName == "b")<BR> {<BR> allObject[i].lt = "<"<BR> allObject[i].gt = ">"<BR> }<BR> }<BR> <BR> alert(ubbDocument.getOuterHTML())<BR> }<BR>




[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这个程序的处理方法大致是通过正则表达式的拼接(getAbsReg 和 getRelaStr 这两个自定义函数),从 字符串 → 属性 → 对象 → 节点 一级级的拼接出他们的正则表达式,然后再从节点开始反向的从文本流中提取对应的内容,再将他们设置到 htmlElement 类 的相应的属性上,也就是看到了 [object object]。

最后实例程序通过设置和使用 htmlElement 中提供属性和方法,将文本的每一个细节修改到最终所需要的状态,最后使用getOutetHTML或是getInnerHTML方法得到处理之后的文本流。

另外,用这种方法处理还可以达到标记自动补全的功能。
展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消