preg_match_all正则匹配的取值问题,马上结贴!在线等......
<?
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
相关推荐
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,主要包含了分割, 匹配,查找,替换等等处理操作,依旧是配合示例讲解,让我们开始吧。 和正则表达式一样,正则表达式处理函数不能够独立使用,而这必须相结合,才能够完成特定的功能。在前面我们也说过,基于perl的正则表达式要快于POXIS正则表达式处理函数,所以我们只介绍以preg开头的基于perl的正则表达式。注意:在能偶使用字符串函数处理的时候,就不要使用正则表达式来处理字符串,因为字符串处理
php小经验:解析preg_match与preg_match_all 函数
正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容并替换•正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数。二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数为例子说明。定界符Perl 兼容模式的正则表达式函数,其正则表达式需要写在定界符中。任何不是字母、数字或反斜线()的字符都可以作为定界符,通常我们使用 / 作为定界符。具体使用见下面的例子。提示尽管正
PHP中preg_match函数正则匹配的字符串长度问题
主要介绍了PHP中preg_match函数正则匹配的字符串长度问题,如果你也遇到了preg_match正则提取内容时总是空白或提取不到的话,那就可能是遇到了这个问题啦,需要的朋友可以参考下
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
主要介绍了PHP preg_match实现正则表达式匹配功能,较为详细的介绍了preg_match函数的功能、参数含义、返回值及使用方法,并结合实例给出了preg_match输出是否匹配及匹配值的相关实现技巧,需要的朋友可以参考下
PHP函数preg_match_all正则表达式的基本使用详细解析
了解正则表达式之前,须要掌握一些常用的正则表达式的基础知识,这些如果能记得最好记得,记不住须要用的时候能查到就行,就多个特殊字符,所以说正则表达式玩的就是特殊,具体大家可以查看更加细致的说明。 preg_match_all函数具体说明大家可以查看PHP手册,本文运用 preg_match_all用于测试正则表达的效果。 实例代码: 复制代码 代码如下:$html = ‘<div id=”biuuu”>jb51.net</div><div id=”biuuu_2″>jb51.net2</div><div id=”biuuu_3″>jb51.net3</div>’;实例要求:分别将每一个DIV元


基础编程
