<?
echo get_alexa("www.qq.com");
function get_alexa($website){
$url="http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680x1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=".$website;
$contents=file_get_contents($url);
$contents=str_replace('<a href="/','<a href="http://www.alexa.com/',$contents);
$contents = iconv("UTF-8","gbk//TRANSLIT",$contents);preg_match_all("/<POPULARITY URL=\"(.*?)\" TEXT=\"(.*?)\"\/>/is",$contents,$num);
if($num[1][0]==""){
preg_match_all("/<div class=\"data down\">(.*?)<\/a><\/div>/is",$contents,$num);
}
Return number_format($num[2][0]);}
?>
以上代码是获得www.QQ.com的alexa排名,应该是9.可是这样写却得不到9的结果,错在哪里呢?可以直接访问如下连接看到xml格式的内容:http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680x1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=www.QQ.com
echo get_alexa("www.qq.com");
function get_alexa($website){
$url="http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680x1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=".$website;
$contents=file_get_contents($url);
$contents=str_replace('<a href="/','<a href="http://www.alexa.com/',$contents);
$contents = iconv("UTF-8","gbk//TRANSLIT",$contents);
//echo $contents;
preg_match_all('|POPULARITY URL=".*?" TEXT="(\d+)"|is',$contents,$num);
print_r($num[1]);//9 if($num[1][0]==""){
preg_match_all("/<div class=\"data down\">(.*?)<\/a><\/div>/is",$contents,$num);
}
Return number_format($num[2][0]);}
function get_alexa($website){
$url="http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680x1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=".$website;
$contents=file_get_contents($url);
$contents=str_replace('<a href="/','<a href="http://www.alexa.com/',$contents);
$contents = iconv("UTF-8","gbk//TRANSLIT",$contents);
//echo $contents;
preg_match_all('|POPULARITY URL=".*?" TEXT="(\d+)"|is',$contents,$num);
print_r($num[1]);//9 if($num[1][0]==""){
preg_match_all("/<div class=\"data down\">(.*?)<\/a><\/div>/is",$contents,$num);
}
Return number_format($num[2][0]);}
返回是原始的xml格式,为啥要用html entity去匹配
<转回为<
>转回为>