Preg_Match_All无法正常测试

时间:2017-04-14 22:32:04

标签: php regex

这不像"重复"它解释了regexp的替代方案,但并没有解释这个问题的解决方案。

我正在尝试使用preg_match_all来解析已删除的页面(http://www.sportsbookreview.com/betting-odds/)。我在两个网站(http://www.phpliveregex.com/和functions-online.com/preg_match_all.html)上测试了我的正则表达式/>([A-Z]+) - /,它在两种情况下都有效。我还将我正在解析的片段直接粘贴到我的代码中。在所有这些情况下,它都有效,但是当我在实时数据上运行它时,它不会返回任何结果。

我唯一的理论是,当我剪切并粘贴到实时测试网站时,网站中有一个隐藏的字符无法复制。

完整代码如下。谢谢你的帮助。

<?php

function curl($url) {
$curlAgent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $curlAgent);

$data = curl_exec($ch);
curl_close($ch);
return $data;   
}

$strUrl = 'http://www.sportsbookreview.com/betting-odds/';

$data = curl($strUrl);

$strGames = explode('@id',$data);

echo "<br>Number of games on page: ".count($strGames)."<br>";

for ($i = 1; $i < count($strGames); $i++) {
//    echo $strGames[$i];
    $clean = preg_replace('/[^\PC\s]/u', '', $strGames[$i]);
    $error = preg_match_all("~>([A-Z]+) - ~m", $clean, $strTeams);
    var_dump($strTeams);
}

?>

0 个答案:

没有答案