使用PHP DomDocument区分HTML和XML

时间:2015-08-05 19:38:28

标签: php html xml domdocument

有没有办法用PHP DomDocument区分XML和HTML?

我查看docs但没有找到任何内容。

我正在寻找像check($string)这样的函数,为每个'is XML'返回'is HTML'$string

SO中的这些similar questions here对我没有帮助。

2 个答案:

答案 0 :(得分:2)

没有这样的功能,但是当DOMDocument::loadXML()返回private void selectRowInTableAndScroll(int aRowIndex) { fTable.clearSelection(); fTable.getSelectionModel().addSelectionInterval(aRowIndex, aRowIndex); Rectangle r = fTable.getCellRect(aRowIndex, 0, true); r.height = Math.min(fScrollPane.getHeight(), r.height); fTable.scrollRectToVisible(r); } (设置recover为false)时,您可以放心,某些$string是格式良好的XML。 HTML文档失败了。

对于HTML,您可以使用DOMDocument::loadHTML()检查文档是否可以作为HTML加载。 HTML不像XML那么严格。

答案 1 :(得分:1)

使用preg_match扩展名。 例如:

if( preg_match('/<html[^>]*>/', $string) ) {
{
  // ... actions for XML ...
} elseif( preg_match('/<\?xml[^?]*\?>/', $string) ) {
  // ... actions for HTML ...
} else {
  // ... actions for another ...
}