用 PHP DomDocument 区分 HTML 和 XML
Differentiating HTML and XML with PHP DomDocument
有什么方法可以用 PHP DomDocument 来区分 XML 和 HTML 吗?
我查看了 docs,但没有找到任何东西。
我正在寻找类似 check($string)
的函数,每个 $string
.
returns 'is XML'
或 'is HTML'
SO 中的这些 similar questions here 对我没有帮助。
使用 preg_match 扩展名。
示例:
if( preg_match('/<html[^>]*>/', $string) ) {
{
// ... actions for XML ...
} elseif( preg_match('/<\?xml[^?]*\?>/', $string) ) {
// ... actions for HTML ...
} else {
// ... actions for another ...
}
没有这个函数,但是你可以放心,当DOMDocument::loadXML()
返回true
时,有些$string
是格式正确的XML(设置recover为false) . HTML 文档因此失败。
对于 HTML,您可以使用 DOMDocument::loadHTML()
检查文档是否可以作为 HTML 加载。 HTML 不如 XML.
严格
有什么方法可以用 PHP DomDocument 来区分 XML 和 HTML 吗?
我查看了 docs,但没有找到任何东西。
我正在寻找类似 check($string)
的函数,每个 $string
.
'is XML'
或 'is HTML'
SO 中的这些 similar questions here 对我没有帮助。
使用 preg_match 扩展名。 示例:
if( preg_match('/<html[^>]*>/', $string) ) {
{
// ... actions for XML ...
} elseif( preg_match('/<\?xml[^?]*\?>/', $string) ) {
// ... actions for HTML ...
} else {
// ... actions for another ...
}
没有这个函数,但是你可以放心,当DOMDocument::loadXML()
返回true
时,有些$string
是格式正确的XML(设置recover为false) . HTML 文档因此失败。
对于 HTML,您可以使用 DOMDocument::loadHTML()
检查文档是否可以作为 HTML 加载。 HTML 不如 XML.