如何使用SimpleHTMLDom PHP在具有ID的div中获取html代码?

如何使用SimpleHTMLDom PHP在具有ID的div中获取html代码?,php,simple-html-dom,Php,Simple Html Dom,这是一个简单的html演示代码,我想首先在id为的div之间获取html内容 <div id="first"> <div id="second">second</div> <div class="third">Third</div> <h1>Fourth</h1> </div> 那么,如何在div中提取html代码呢?试试这个。这里我们使用simplexml\u load\u st

这是一个简单的html演示代码,我想首先在id为的div之间获取html内容

<div id="first">
   <div id="second">second</div>
   <div class="third">Third</div>
   <h1>Fourth</h1>
</div>

那么,如何在div中提取html代码呢?

试试这个。这里我们使用
simplexml\u load\u string
,使用
XPath
进行查询

xpath('//div[@id=“first”]/*');
$innerHtml=“”;
foreach($results作为$result)
{
$innerHtml.=$result->saveXML();
}
echo$innerHtml;
find()
方法返回一个元素数组。您可能希望第一个元素的
innertext
,如下所示:

$result = $dom->find('div[id="first"]');
print ($result[0]->innertext);

您是否尝试过使用
->纯文本
而不是
->innertext
@SmartCoder不,这也不起作用。它只打印白空间。你试过
DOMDocument
吗?不,我从没听说过,你能写一些演示吗?嘿,谢谢你的回复。我正试图从中删除描述。Product description html代码位于“Product_description”ID中。我使用simple_html_dom解析html,它返回子对象和节点。因此,我无法在您提供的simplexml\u load\u string()函数中传递html源代码。那么,你能告诉我有什么替代方案吗?@ravi为此,你可以使用
simplexml\u load\u file
@ravi根据上面提到的问题,我的代码工作正常。可能是我这边的错误。。我找不到它。。当我运行您建议的代码时,它返回500个错误代码。
$dom->find('div[id="first"]')->innertext;


$var = (string)$dom->find('div[id="first"]');
<?php

$dom=simplexml_load_string($your_html_source_string);
$results=$dom->xpath('//div[@id="first"]/*');
$innerHtml="";
foreach($results as $result)
{
    $innerHtml.=$result->saveXML();
}
echo $innerHtml;
$result = $dom->find('div[id="first"]');
print ($result[0]->innertext);