我有一个脚本,它使用正则表达式在使用 curl 检索的页面上获取一些值。
编码:preg_match('/<h2>([\d\,]+)<\/h2>/', $curl_exec, $matches);
当我print_r($matches)
在浏览器中时,它总是在那里。
我在 cron 作业中使用此脚本每 10 分钟获取一次结果。当我自己测试它并使用'php script.php'时,它总是说我想要获取的数据的未定义索引,但是如果我第二次执行'php script.php',它就可以工作。有谁知道这可能是什么原因造成的?有什么解决办法吗?
$CurlHandle = curl_init($StatsUrl);
curl_setopt($CurlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($CurlHandle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($CurlHandle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0");
$Data = curl_exec($CurlHandle);
preg_match("/<h2>([\d\,]+)<\/h2>/", $Data, $Matches);
print_r($Data);
if(!isset($Matches[1])) exit('Irrecoverable error.');
$PlayerCount = str_replace(",", "", $Matches[1]);
$CurrentTime = time();