我目前正在尝试为这个格式的特定元素解析一个网页:
<div id="main-id">
<div id="sub-id-1" onclick="some onclick">
<span class="big-class" style="some style">
</span>
<div id="sub-id-2"> </div>
</div>
我试图从中提取的主要部分是整个<span class="big-class" style="some style">
标记,因为我需要从元素中提取样式并将其存储到字符串中。为此,我尝试使用以下代码:
$dom = new DOMDocument();
$dom->validateOnParse = true;
$dom->loadHTML($html);
$belement = $dom->getElementById("main-id");
echo $belement->nodeValue;
但是,这只返回字符Â
,这是字符代码 
的用途。
我不确定要搜索什么才能完成此操作,而且我甚至不确定是否使用DOM提取整个HTML行(?)。有什么方法可以使用DOM来返回这个span元素吗?
答案 0 :(得分:1)
nodeValue
将返回您的代码的innerHTML。因此,在这种情况下,它正确地返回Â
。您可以查看PHP Xpath : get all href values that contain needle进行类似的讨论。你可以这样做:
$html = <<< HTML
<div id="main-id">
<div id="sub-id-1" onclick="some onclick">
<span class="big-class" style="some style">
</span>
<div id="sub-id-2"> </div>
</div>
HTML;
$xml = simplexml_load_string($html);
$span_elem = $xml->xpath('//span[@class="big-class"]');