PHP DOMDocument双DOCTYPE

时间:2015-08-06 05:07:31

标签: php domdocument

我遇到了PHP DOM文档的情况。

我有一个带有双doctype的HTML文件,我认为php无法通过<head>到达$doc->getElementsByTagName('head');元素(长度返回0)。

那么如何删除DOC文档中的第一个DOCTYPE。

这是HTML文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<body>
    <Some html code>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

回答您的问题

您可以使用array_slice()删除第一行

来执行此操作

e.g

$html = file_get_contents('index.html');
$html = implode("\n", array_slice(explode("\n", $html), 1));

澄清您的问题

<head>标记为空。

检索头部内容

preg_match('/<head>(.*)<\/head>/s', $html, $matches);
var_dump($matches);