问一个html词法分析器的思路
最近查了许多资料,匹配html标记的方法很多。我有另外一种想法,请各位大大帮我看看有什么问题。
读入一个*.html文件 从头查找第一个 "<" token,之后找到最近的一个 ">"
这样就确定了一个完整的标记, 例如:<htl> 先不考虑 "/>"的情况。 之后对照html标记的符号表进行相似对照匹配,
例如:<htl> 会匹配为 <html>。
问: 1> 这样做会不会比用正则或状态机等方法匹配起来容易?或麻烦?
我觉得用这种方法可以简单做到容错,对于像浏览器这样应用很重要。
2>这个方法是否可行? 实现难度和问题在哪?
3>对于html的词法分析还有没有其它更好的解决方案呢?
[解决办法]
问: 1> 这样做会不会比用正则或状态机等方法匹配起来容易?或麻烦?
正则本质上也是这样查找的,只不过是使用更方便。
2>这个方法是否可行? 实现难度和问题在哪?
可行与否 相信其他都是这么干的,只不过别人封装的更好,方法更优秀。 说道难点,估计就是别指望所有HTML文档都是标准的文档,要做足错误处理。
3>对于html的词法分析还有没有其它更好的解决方案呢?
你可以去参考下XML的解析。