安静
PHP技术博客

100423 php函数 获取热榜 截取关键字等

不多说自己看,回头可以整成插件,做一些烂站,一个网站包含了百度热榜的top字段 做tag 不错的说。然后还可以通过搜索引擎去搜索文章 截取内容-_- 超强yy

/**
* @Author:ZhangQingYue – Motorcom
* @Description: 返回当前baidu 热榜,作为seo用
* @FirstCreatDate: 2010-4-23
* @param : title – 标题
* @param : content – 正文
*/
function getHotKeysByBaidu($title,$charset=”UTF-8″){
$title=iconv($charset, “GB2312″, $title);
$w=file_get_contents(‘http://top.baidu.com/’);
//die($w);
//获得列表部分
preg_match_all(‘|<div id=”_hot1”>(.*)</div>|isU’,$w,$con);
$list=$con[1][0];
return $list;
}
/**
* @Author:ZhangQingYue – Motorcom
* @Description: 标题,文章 分析返回5个关键字
* @FirstCreatDate: 2010-4-23
* @param : title – 标题
* @param : content – 正文
*/
function getTags($title,$content){
$subjectenc = rawurlencode(strip_tags($title));
$messageenc = rawurlencode(strip_tags(preg_replace(“/\[.+?\]/U”, ”,$content)));
$subjectenc =substr($subjectenc,0,60);
$messageenc=substr($messageenc,0,1200);
$data = @implode(”, file(“http://keyword.discuz.com/related_kw.html?title=$subjectenc&content=$messageenc&ics=utf-8&ocs=utf-8“));
$kws = array();
if($data) {
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $data, $values, $index);
xml_parser_free($parser);
foreach($values as $valuearray) {
if($valuearray[‘tag’] == ‘kw’ || $valuearray[‘tag’] == ‘ekw’) {
$kw =trim($valuearray[‘value’]);
$kws[] =$kw ;
}
}
}
return $kws;
}
/**
* @Author:ZhangQingYue – Motorcom
* @Description: Unix时间戳返回文章保存时间与当前时间差
* @FirstCreatDate: 2010-4-23
* @param : posttime – 发布时间 Unix时间戳
*/
function getTimesAgo ($posttime)
{
echo $now = time();
$text=””;
$diff = (int) abs($now – $posttime);
if ($diff <= 3600) {
$mins = round($diff / 60);
if ($mins <= 1) {
$mins = 1;
}
//var_dump( $mins);
$mins=sprintf(“发表于 %s 分钟之前”,$mins);
return $mins;
// echo $text;
} else
if (($diff <= 86400) && ($diff > 3600)) {
$hours = round($diff / 3600);
if ($hours <= 1) {
$hours = 1;
}
$hours=sprintf(“发表于 %s 小时之前”,$hours);
return $hours;
} elseif ($diff >= 86400) {
$days = round($diff / 86400);
if ($days <= 1) {
$days = 1;
}
//可格式化 time 返回日期  taotao就是这么做的 不过是js版的
$days=sprintf(“发表于 %s 天之前”,$days);
return $days;
}

赞(0) 打赏
未经允许不得转载:AJ's Blog » 100423 php函数 获取热榜 截取关键字等
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏