PHP DomeElement选择不带父标记的子html标记
我想像JS函数innerHTML一样获取DOM元素的内容。 现在我是这样做的,有没有更简单的方法不用循环? 如果我使用->nodeValue,它将执行我需要的操作,但它会剥离HTML标记 基本上,我需要用一个命令获取dom元素的所有子元素,包括它们的标记PHP DomeElement选择不带父标记的子html标记,php,domdocument,Php,Domdocument,我想像JS函数innerHTML一样获取DOM元素的内容。 现在我是这样做的,有没有更简单的方法不用循环? 如果我使用->nodeValue,它将执行我需要的操作,但它会剥离HTML标记 基本上,我需要用一个命令获取dom元素的所有子元素,包括它们的标记 $html= "<div> <p>One</p> <p>Two</p> </div>"; $dom_doc
$html= "<div>
<p>One</p>
<p>Two</p>
</div>";
$dom_doc = new DOMDocument();
@$dom_doc->loadHTML($html);
$html_elements = $dom_doc->getElementsByTagName("div");
//vvar_dump($dom_doc->saveHTML($html_elements->item(0)));
//this will return "<div><p>One</p><p>Two</p></div>" and i only need contents of div tag
//vvar_dump($html_elements->item(0)->nodeValue;
//this will return "OneTwo" without <p> tags
$innerHTML = "";
$child_elements = $html_elements->item(0)->childNodes;
foreach($child_elements as $key) {
$innerHTML .= $html_elements->item(0)->childNodes->item($key);
}
vvar_dump($innerHTML);
//returns: <p>One</p><p>Two</p>
$html=”
一个
两个
";
$dom_doc=新的DOMDocument();
@$dom_doc->loadHTML($html);
$html_elements=$dom_doc->getElementsByTagName(“div”);
//vvar_dump($dom_doc->saveHTML($html_elements->item(0));
//这将返回“OneTwo”,我只需要div标签的内容
//vvar\u dump($html\u元素->项(0)->节点值;
//这将返回不带标记的“OneTwo”
$innerHTML=“”;
$child\u elements=$html\u elements->item(0)->childNodes;
foreach($key为子元素){
$innerHTML.=$html\u元素->项(0)->子节点->项($key);
}
vvaru转储($innerHTML);
//返回:OneTwo