html - 如何检查 HTML 文件的语法是否正确?

标签 html c syntax tags

虽然我学过 C 和 C# 以及其他一些次要语言,但我对 C 还是很陌生。我的问题是:如何检查 HTML 文件的语法是否正确?我的意思是:

<html><head></head><body>random stuff

<tag></tag>random stuff</body></html>

我想做一个堆栈,但我迷路了。从一个字符一个字符地读取文件并放入那么多 if 听起来太复杂了。

有人知道我怎么写这个吗?正如我所说,我是 C 的新手,所以如果您能在您的解释中附上一些代码,我们将不胜感激。谢谢!

最佳答案

您需要为 HTML 编写一个简单的 Lexer 和 Parser。

查看 Lex(或 Flex)和 Yacc(或 Bison)以及如何使用它们。

有关旧版 HTML 的简单 Yacc 语法,请参阅此内容 Simple Yacc Grammar for HTML

这是另一个简单的 XML 解析器:XML GrammarXML Lexer

我的建议:不要从头开始编写所有内容。使用预先存在的工具来帮助您做您想做的事。使用 Lex 和 Yacc 比手写的词法分析器/解析器更不容易出错

关于html - 如何检查 HTML 文件的语法是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008886/

相关文章:

html - CSS 表 : changing background on hover, 包括替代行

html - 如何在 Bootstrap 表中的 <span> 内换行或换行

c - 我如何在 C 中使用 kbhit?

python - __all__ 在 Python 中是什么意思?

javascript - var functionName = function() {} vs function functionName() {}

javascript - 全局作用域中的函数表达式与函数声明的区别

javascript - 尝试使用 jQuery 创建轮播效果

javascript - 音频与onmousedown一起在Javascript/CSS中切出过早

c - 是否有类似官方 C 文档的内容?

c - 在C中的文本文件中打印500个时间字符串以及连接的唯一随机数