这是不同域上的div代码,我想在我的主页上显示总数。我尝试使用file_get_html但它显示所有div内容,但我想将<dd></dd>
中的数字保存在变量中并添加它们并在我的页面上显示它们。
这是div代码
<div class="stats">
<dl class="statscount">
<dt>total:</dt>
<dd>5,299</dd>
</dl>
20000
</div>
这是我目前的代码。
<?php
include 'simple_html_dom.php';
$html = file_get_html('http://www.targetdomain.com');
$result = $html->find('dl[class=statscount]', 0); //Output: THESE
$result = str_replace(",", "", $result);
echo $result;
?>
但是有一个小问题我不需要获取课堂上的所有数据,我只需要课程中<dd></dd>
标签的数据,你能告诉我如何实现这一目标。基本上我想获取<dd>5,299</dd>
中的数字并添加不同页面中的所有数字并在我的网站上显示总数。感谢
答案 0 :(得分:1)
我会使用XPath来实现这一点,这样你就不需要simple_html_dom,因为DOM和XPath是PHP5核心的一部分:
$html = <<<EOF
<div class="stats">
<dl class="statscount">
<dt>total posts:</dt>
<dd>5,299</dd>
</dl>
20000
</div>
EOF;
$doc = new DOMDocument();
$doc->loadHTML($html);
$selector = new DOMXPath($doc);
$value = $selector
->query('//dl[@class="statscount"]/dd/text()')
->item(0)
->nodeValue;
var_dump($value); // Output: string(5) "5,299"
您可以测试代码here
答案 1 :(得分:0)
也许正则表达式
preg_match('/<dd>[^>]*(.*)<\/dd>/', $htmlcode, $matches);
$result = $matches;