【发布时间】:2012-09-28 01:28:22
【问题描述】:
我目前正在尝试解析网页中的特定元素,该元素将采用以下格式:
<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;
但是,这只是返回字符Â,这就是字符代码&#160 的用途。
我不确定要搜索什么才能完成此操作,我什至不确定是否使用 DOM 拉取整个 HTML 行(?)。有什么办法可以使用 DOM 来返回这个 span 元素?
【问题讨论】:
-
换句话说,使用这个 XPath 查询:
//span[@class="big-class"] -
并让整个节点序列化,例如它是outerHTML,见stackoverflow.com/questions/5404941/…
-
使用上面的代码,你应该得到你想要的片段,不是吗?尝试查看源代码以查看页面的 src 中是否正在打印 HTML 位。