关于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 />
?> Salin selepas log masuk
这个能获得结果: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 />
?> Salin selepas log masuk
这个就不行了。。。
求解释,还有怎么获得百度收录量。。。。
------最佳解决方案-------------------- <br />
preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);<br />
Salin selepas log masuk
------其他解决方案--------------------
正则里面的"."匹配除"\n"外的任意一个字符,不能匹配中文。<br />
preg_match('%<strong>找到相关结果数(.*?)个。</strong>%i', $site,$count);<br />
和下面的一样:
preg_match('/找到相关结果数(.*?)个。 /i', $site,$count);
Salin selepas log masuk
------其他解决方案-------------------- 引用: PHP code?12preg_match('%找到相关结果数(.*?)个。 %i', $site,$count);
其实这种
preg_match('/<strong>找到相关结果数(.*)个。<\/strong>/i',$site,$count); Salin selepas log masuk
就可以了。
------其他解决方案-------------------- %
找到相关结果数(.*?)个。 %i关键是最后的那个“i”表示忽略大小写,如果不加“i”也就不需要“%”了
------其他解决方案--------------------
引用:
引用:%只是正则的开始与结束符,你用/,#都可以的正则的开始和结束不是^$第一次听说,受教……
你讲的是位置匹配,跟我讲的不是一件事情
------其他解决方案-------------------- %只是正则的开始与结束符,你用/,#都可以的
------其他解决方案--------------------
引用:
%只是正则的开始与结束符,你用/,#都可以的
正则的开始和结束不是^$第一次听说,受教……
------其他解决方案-------------------- 学习了,不上很明白。。
------其他解决方案-------------------- 上面写错了,"."可以匹配中文
------其他解决方案-------------------- 这个问题主要把正则运用好,就可以出来了.
------其他解决方案-------------------- 能告诉我为什么要加%吗?
------其他解决方案-------------------- 该回复于2012-11-19 17:27:11被管理员删除