Php使用类从url获取值
这是不同域上的div代码,我想在我的主页上显示total。我尝试使用文件_get _html,但它显示了所有div内容,但我想将编号保存在变量中的Php使用类从url获取值,php,jquery,ajax,Php,Jquery,Ajax,这是不同域上的div代码,我想在我的主页上显示total。我尝试使用文件_get _html,但它显示了所有div内容,但我想将编号保存在变量中的中,然后添加它们并显示在我的页面上。 这是div代码 <div class="stats"> <dl class="statscount"> <dt>total:</dt> <dd>5,299</dd> </dl>
中,然后添加它们并显示在我的页面上。
这是div代码
<div class="stats">
<dl class="statscount">
<dt>total:</dt>
<dd>5,299</dd>
</dl>
20000
</div>
总数:
5,299
20000
这是我目前的代码
<?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;
?>
但是有一个小问题,我不需要获取类中的所有数据,我只需要类中
标记的数据,您能告诉我如何实现这一点吗。基本上,我想获取5299
中的数字,将不同页面中的所有数字相加,并在我的网站上显示总数。谢谢我将使用这种方式,这样您就不需要简单的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"
$html=项目(0)
->无价值;
变量转储($value);//输出:字符串(5)“5299”
您可以测试代码可能是一个正则表达式
preg_match('/<dd>[^>]*(.*)<\/dd>/', $htmlcode, $matches);
$result = $matches;
preg_match('/[^>]*(.*)/',$htmlcode,$matches);
$result=$matches;
在大多数情况下,使用正则表达式从DOMDocument中提取信息不是一个好主意。在现实世界的例子中,div代码页是在不同的域中获取数据的,这段代码可以处理吗。谢谢,您必须使用$html=file\u get\u contents('http://server.com/page.html');代码>