我在application \ views \ article.php
中有一个php文件article.php内容:
<!DOCTYPE html>
<html prefix='og: http://ogp.me/ns#'>
<head>
<title>test</title>
</head>
<body>
<div> test div1 </div>
<div> test div2 </div>
</body>
</html>
当我使用$ this-&gt; load-&gt; view()加载article.php模板并使用DomDocument来获取dom。
$html=$this->load->view('article','',TRUE);
$doc = new DomDocument;
$doc->loadHTML($html);
echo $doc->saveXML($doc->getElementsByTagName('div')->item(0));
// or echo $doc->saveXML();
有错误消息: 消息:DOMDocument :: loadHTML():意外的结束标记:实体中的元,行:4
但是我用这个:
$html='<!DOCTYPE html>
<html prefix=\'og: http://ogp.me/ns#\'>
<head>
<title>test</title>
</head>
<body>
<div> test div1 </div>
<div> test div2 </div>
<p>Directory </p>
</body>
</html>';
$doc->loadHTML($html);
echo $doc->saveXML($doc->getElementsByTagName('div')->item(0));
// or echo $doc->saveXML();
这是成功的。
gettype($ html)到两个$ html方法,都是字符串。
答案 0 :(得分:1)
尝试使用
隐藏警告SELECT idx FROM table1 WHERE type = 'typeA' LIMIT 3000
或者:
libxml_use_internal_errors(true);
警告是因为@$doc->loadHTML($html);
返回的HTML无效,loadHTML()会解析此问题,但会显示警告。