日期:2014-05-17  浏览次数:20440 次

关于PHP 获取信息问题
<?php
  $baidu="http://www.baidu.com/s?wd=site%3Ahao123.com";
  $site=file_get_contents($baidu);
  $site= iconv("UTF-8","GB2312", $site);
  ereg("<title>(.*)</title>", $site,$count);
print_r($count); //获取好主题在百度中的收录数量

?>

这个能获得结果:Array ( [0] => [1] => 百度搜索_site:hao123.com )
但是:
<?php
  $baidu="http://www.baidu.com/s?wd=site%3Ahao123.com";
  $site=file_get_contents($baidu);
  $site= iconv("UTF-8","GB2312", $site);
  ereg("<strong>(.*)</strong>", $site,$count);
print_r($count); //获取好主题在百度中的收录数量

?>

这个就不行了。。。
求解释,还有怎么获得百度收录量。。。。
------最佳解决方案--------------------

preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);

------其他解决方案--------------------

正则里面的"."匹配除"\n"外的任意一个字符,不能匹配中文。
preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);
和下面的一样:
preg_match('/<strong>找到相关结果数(.*?)个。</strong>/i', $site,$count);

------其他解决方案--------------------
引用:
PHP code?12preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);

其实这种
preg_match('/<strong>找到相关结果数(.*)个。<\/strong>/i',$site,$count);

就可以了。
------其他解决方案--------------------
%<strong>找到相关结果数(.*?)个。</strong>%i关键是最后的那个“i”表示忽略大小写,如果不加“i”也就不需要“%”了
------其他解决方案--------------------
引用:
引用:%只是正则的开始与结束符,你用/,#都可以的正则的开始和结束不是^$第一次听说,受教……

你讲的是位置匹配,跟我讲的不是一件事情
------其他解决方案--------------------
%只是正则的开始与结束符,你用/,#都可以的
------其他解决方案--------------------
引用:
%只是正则的开始与结束符,你用/,#都可以的
正则的开始和结束不是^$第一次听说,受教……
------其他解决方案--------------------
学习了,不上很明白。。
------其他解决方案--------------------
上面写错了,"."可以匹配中文
------其他解决方案--------------------
这个问题主要把正则运用好,就可以出来了.
------其他解决方案--------------------
能告诉我为什么要加%吗?
------其他解决方案--------------------
该回复于2012-11-19 17:27:11被管理员删除