Php 卷曲->;Xpath->;返回一个字符串,需要进一步解析以返回3-4位数字

Php 卷曲->;Xpath->;返回一个字符串,需要进一步解析以返回3-4位数字,php,regex,curl,xpath,Php,Regex,Curl,Xpath,这可能是一个非常愚蠢的问题,因为我对php非常陌生。基本上,我正在尝试为我维护的竞争网站创建一些漂亮的“自动化” <?php $url = "http://www.pdga.com/player/73761"; $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_C

这可能是一个非常愚蠢的问题,因为我对php非常陌生。基本上,我正在尝试为我维护的竞争网站创建一些漂亮的“自动化”

<?php
$url = "http://www.pdga.com/player/73761";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DomXPath($dom);
$class = 'current-rating';
$divs = $xpath->query("//*[contains(concat(' ', normalize-space(@class), '
'), ' $class ')]");
foreach($divs as $div) {
echo $div->nodeValue;
}
?>
我想进一步解析它,这样它就给出了数字949(在本例中)

实际上,我试图做的是,随着这些评分每月更新,当这个数字发生变化时,我的网站会自动更新。此外,这个数字可以在750-1050之间,因此需要在这里加以考虑


提前感谢您的帮助。

您可以尝试使用preg_match(),它将使用正则表达式来匹配所需内容

e、 g


该死,那对你来说太容易了:)下次我会更努力的。非常感谢。嗯,如果你对这件事有所了解的话,我想再问你一个问题,因为这是我的下一个问题。我基本上是根据这个数字建立一个残障系统。例如,800-850=-10851-900=0901-950=+5。你会怎么做呢。我需要展示的只是一位数。你可以尝试为你的阈值创建一个数组,其中包含下限、上限和残障分数。然后循环检查您的阈值,查看您的分数是否符合当前阈值。在评论部分写一个例子有点难,你最好自己动手。看看多维数组,它们应该会有帮助
Current Rating: 949 (as of 06-Dec-2016)
foreach($divs as $div) {
    preg_match('/Current Rating:\s+(\d+)/', $div->nodeValue, $results);
    echo $results[1];
}