0

可能重复:
获取 A 元素的 href 属性

我目前正在尝试为特定元素解析网页,该元素将采用以下格式:

<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">&#160;</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 元素?

4

1 回答 1

1

nodeValue将为您的标签返回 innerHTML。因此,在这种情况下,它正确地返回Â. 您可以检查PHP Xpath :获取所有包含 needle 的 href 值以进行类似讨论。你可以这样做:

$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">&#160;</div>
</div>
HTML;

$xml  = simplexml_load_string($html);
$span_elem = $xml->xpath('//span[@class="big-class"]');
于 2012-10-07T17:04:00.837 回答