0
我在应用程序中的PHP文件\意见\ article.php笨,视图模板字符串的DomDocument操作
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>
当我使用$这 - >负载> 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();
具有错误消息: 消息:DOM文档:: loadHTML():预期的结束标记:元中的实体,行:4
但WHE我使用此:
$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的两个方法,都是字符串。
为什么?这$ this-> load-> view('article','',TRUE)是无效的吗? –
也许unescape字符,尝试用一个简单的'var_dump($ doc-> loadHTML($ html))来查看这个HTML的字符串;'什么给你看? – kip
unescape字符? var_dump($ doc-> loadHTML($ html))显示更多的错误信息:DOMDocument :: loadHTML():意外的结束标签:元在实体,行:4 .....行:9,五条消息。 var_dump($ html-> loadHTML($ html))show bool(true) –