在我的网页中,部分html源代码由其他方提供,我发现有时返回源代码不完整,例如:
<table>
<tr valign='top'>
<td width=95>
<img src='test.jpg'>
</td>
<td>
<h2><a style='font-size: 13px' href='tset.html'>test</a></h2>
<h1><a href='test.html'>test</a></li>
我想询问是否有任何函数来检查HTML源代码是否不完整?
我有一个想法是使用substr()
来检查第一个和最后一个HTML标记,但不知道它是否有效。
由于
答案 0 :(得分:1)
检查响应是否以相同的标签开始和结束似乎是一个足够好的启发式方法:
html
,body
同时适用,即使table
现在很少嵌套,那么你肯定会注意到输入无效。请注意,将结果指定为innerHTML
并将其读回可能会产生误报。浏览器可以自由地重新排列HTML,即使它是合适的,也是有效的。例如,Internet Explorer喜欢按字母顺序排序元素属性(出于某种原因)。此外,如果您传递无效的HTML
正则表达式:^<(\w+)[^>]*>.*<\/\1>$
if(/^<(\w+)[^>]*>.*<\/\1>$/.test(input)){
// the input is most likely not truncated
}else{
// the input is definitely not valid
// (or it contains multiple top-level elements)
}
答案 1 :(得分:0)
您可以使用Html Validators。你正确指定了DOCTYPE,它会找到任何无效的东西。