关于PHP 获取信息问题
<?php<br /> $baidu="http://www.baidu.com/s?wd=site%3Ahao123.com";<br /> $site=file_get_contents($baidu);<br /> $site= iconv("UTF-8","GB2312", $site);<br /> ereg("<title>(.*)</title>", $site,$count);<br />print_r($count); //获取好主题在百度中的收录数量<br /><br />?>
ログイン後にコピー
这个能获得结果:Array ( [0] => [1] => 百度搜索_site:hao123.com )
但是:
<?php<br /> $baidu="http://www.baidu.com/s?wd=site%3Ahao123.com";<br /> $site=file_get_contents($baidu);<br /> $site= iconv("UTF-8","GB2312", $site);<br /> ereg("<strong>(.*)</strong>", $site,$count);<br />print_r($count); //获取好主题在百度中的收录数量<br /><br />?>
ログイン後にコピー
这个就不行了。。。
求解释,还有怎么获得百度收录量。。。。
------最佳解决方案--------------------<br />preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);<br />
ログイン後にコピー
------其他解决方案--------------------
正则里面的"."匹配除"\n"外的任意一个字符,不能匹配中文。<br />preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);<br />和下面的一样:
preg_match('/找到相关结果数(.*?)个。/i', $site,$count);
ログイン後にコピー
------其他解决方案--------------------其实这种
preg_match('/<strong>找到相关结果数(.*)个。<\/strong>/i',$site,$count);
ログイン後にコピー
就可以了。
------其他解决方案--------------------%
找到相关结果数(.*?)个。%i关键是最后的那个“i”表示忽略大小写,如果不加“i”也就不需要“%”了
------其他解决方案--------------------
你讲的是位置匹配,跟我讲的不是一件事情
------其他解决方案--------------------%只是正则的开始与结束符,你用/,#都可以的
------其他解决方案--------------------正则的开始和结束不是^$第一次听说,受教……
------其他解决方案--------------------学习了,不上很明白。。
------其他解决方案--------------------上面写错了,"."可以匹配中文
------其他解决方案--------------------这个问题主要把正则运用好,就可以出来了.
------其他解决方案--------------------能告诉我为什么要加%吗?
------其他解决方案--------------------该回复于2012-11-19 17:27:11被管理员删除