本节内容:
PHP代码获取文章在百度排名
例子:
<?php
/**
* $key 百度搜索关键词
* $url 要查找的文章的URL(/blog_article/可把标题传进来/index.html)
* $max 从百度搜索结果的前多少条查找
*
* return $rank
*
* @site www.
*/
function get_con($key='', $url='', $max=100, $pn=0){
if(!$pn) $key = iconv("UTF-8","GB2312",$key);
$str = "http://www.baidu.com/s?wd=".urlencode($key).'&pn='.$pn;
$str = file_get_contents($str);
preg_match_all("/<table[^>]+id=\"([^\"]+?)\"[^>]*>[\s\S]*?<\/table>/",$str,$match);
foreach ($match[0] as $key => $val){
if(strstr($val, $url)) {
$rank = $match[1][$key];
break;
}
}
if($rank) {
return $rank;exit;
}else{
$pn += 10;
if($pn > $max) {
return 0;exit;
}
$rank = get_con($key, $url, $max, $pn);
}
return $rank;
}
$res = get_con('中国足球', 'http://zhidao.baidu.com/question/205692751.html?si=10&wtp=wk');
print_r($res);
//相关记录条数
function baidu_total($key='') {
$key = iconv("UTF-8","GB2312",$key);
$str = "http://www.baidu.com/s?wd=".urlencode($key);
$ct = file_get_contents($str);
$preg = iconv("UTF-8", "GB2312", "/找到相关网页约[\s\S]*?篇/");
preg_match($preg, $ct, $match);
$str = iconv("GB2312","UTF-8",$match[0]);
return $str;
}
//调用示例 取得百度排名
$res = baidu_total('""');
print_r($res);
?>
本节内容:
php IN_ARRAY函数
php是弱类型语言,php进行比较时,最好使用strict方法。
这样不但比较两者的值是否一直,还会比较两者的类型是否一直。
另外,在 控制结构比较两个数值是否一直时,也应该尽量使用 === 来代替 ==(需要根据具体的业务逻辑选用)。
例子:
结果:bool(true)。
因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php manual 中“Comparison Operators” 一章的说明可知,number 和string进行
比较时,会先将string类型首先转化为number,然后再进行比较操作。
's'转化为number的结果为0,而0 == 0 的结果是true,所以in_array(0, array('s', 'ss'))的结果也是true
如果把in_array 的第三个参数strict设置为 true,比较时则会判断值和类型是否都相当。
如果都相当的话,才会返回true,否则返回false。
就介绍这些吧,自己在学习中遇到的一些问题,也希望与遇到类似问题的朋友共享。
本节内容:
php实现MVC路由
实现如下的url地址:
http://www.sample.com/index.php/ctr/func/arg
文件,index.php:
<?php
$script_uri = @$_SERVER['REQUEST_URI'];
$seg = array_slice(explode()('/', $script_uri), 2);
$ctr = array_shift($seg);
$func = array_shift($seg);
$arg = array_shift($seg);
require_once($ctr.'.php');
$func($arg);
dog.php
function wow($arg) {
if(is_array($arg)) {
print_r($arg);
} else {
echo 'dog wow '.$arg;
}
}
function eat($arg) {
if(is_array($arg)) {
print_r($arg);
} else { // www.
echo 'dog eat '.$arg;
}
}
cat.php
function wow($arg) {
if(is_array($arg)) {
print_r($arg);
} else {
echo 'cat wow '.$arg;
}
}
function eat($arg) {
if(is_array($arg)) {
print_r($arg);
} else {
echo 'cat eat '.$arg;
}
}
示例:
request:http://www.sample.com/index.php/dog/eat/bone
response:dog eat bone
request:http://www.sample.com/index.php/cat/wow/mimi
response:cat wow mimi