我想解析某个谷歌搜索包含的点击量并将其存储在PHP变量中。
示例:
http://www.google.co.uk/search?as_epq=hello
返回一个页面,其中包含搜索栏下的“约1,830,000,000个结果”。
我想要的只是1830000000位。
我很确定我使用preg match但是在reg表达式上完全没用,从来没有能够理解它。
我来的壁橱是:
$adamHTML = file_get_contents('http://www.google.co.uk/search?as_epq=hello');
preg_match('/About/', $adamHTML, $return);
print_r($return);
这给了我'关于'的所有实例。但我怎么抓住这个数字?
感谢您的帮助......
答案 0 :(得分:2)
这很糟糕,非常糟糕。但你可以使用它。
preg_match('/About ([0-9,]+) results/', $adamHTML, $return);
答案 1 :(得分:1)
试试这个
<?php
$adamHTML = file_get_contents('http://www.google.co.uk/search?as_epq=hello&hl=en');
preg_match('/About (.*) results/', $adamHTML, $return);
print $return[1];
?>
答案 2 :(得分:1)
您可以使用带占位符的正则表达式“提取”(而非“解析”)内容,而不仅仅是固定字符串。数字的占位符为\d+
,您还需要逗号等:
preg_match('/About ([\d,]+) results/', strip_tags($adamHTML), $return);
另请参阅Open source RegexBuddy alternatives和Online regex testing以获取一些有用的工具,或RegExp.info获取更好的教程。