【发布时间】:2012-02-07 04:12:54
【问题描述】:
我想知道输入的 html 字符串是否有效。 我研究了各种 HTML 解析器。但是任何东西都没有验证 html 方法。 Jsoup 几乎和我想要的一样。但它会生成有效的解析 html。 基本上我想检查以下有效的html结构。
<html>
<head>~</head>
<body>~</body>
</html>
所以,我用 Java 编写了代码。
String html = "<html><head><title>asdf</title></Head><body>asfd</body></html>";
String compile = "(?i)<html.*>.*<head>.*?</head>.*<body>.*</body>.*</html>";
Pattern pattern = Pattern.compile(compile);
Matcher matcher = pattern.matcher(html);
if (matcher.matches()) {
System.out.println("Valid html");
} else {
System.out.println("Invalid html");
}
但是如果 html 有 2 个
元素,它也会检查有效的 html。 如何有效地检查有效的 html 结构?【问题讨论】:
-
尝试通过 XML 解析器推送它并确保存在 html、head 和 body 元素?
-
自然; stackoverflow.com/questions/1732348/…。如果您正在寻找的只是
<html></html>中的<head></head>和<body></body>,那么只需搜索indexOf,从找到的最后一个东西的末尾开始,并确保它们都在那里按顺序。 -
Steven//你能推荐一些XML解析器吗?
-
又一个“我如何使用 Y 做 X?”其中 Y 是完全不适合实现 X 的工具。