1

我正在寻找从外部 URL 收集信息,并将其剥离为值。

例如

<span id="ctl00_cphRoblox_rbxUserStatisticsPane_lFriendsStatistics">149</span>

我找不到使用 PHP Dom 获取“149”的方法

请帮忙,谢谢!

4

2 回答 2

1

一种解决方法是使用preg_match(),但我只会将它与 curl() 一起使用...

$row = '<span id="ctl00_cphRoblox_rbxUserStatisticsPane_lFriendsStatistics">149</span>';
preg_match_all('/<span.*?>.*?<\/[\s]*span>/s', $row, $matches2);
var_dump($matches2);

另一种选择是使用 simple_html_dom.php:

include('simple_html_dom.php');
$html = str_get_html($row);

var_dump($html->find('span', 0)->plaintext);

第三个是使用内置的 DOMDocument。

于 2013-03-18T10:01:06.163 回答
0
function DOMRemove(DOMNode $from) {
    $sibling = $from->firstChild;
    do {
        $next = $sibling->nextSibling;
        $from->parentNode->insertBefore($sibling, $from);
    } while ($sibling = $next);
    $from->parentNode->removeChild($from);    
}

$dom = new DOMDocument;
$dom->load('test.html');

$nodes = $dom->getElementsByTagName('span');
foreach ($nodes as $node) {
    DOMRemove($node);
}
echo $dom->saveHTML();

来源:https ://stackoverflow.com/a/4663865/1675369

于 2013-03-18T09:59:19.857 回答