喜悦国际村 专业PHP开发者社区's Archiver

songlv 发表于 2007-12-3 01:05 PM

本人写的SEO的几个函数,分词,优化(吐血放松)

以下是本人写的两个函数,用于SEO的,至于该如何用我不多说了,写着清楚

//根据标题获得百度热门相关关键字,返回字符串
function baiduKeyword($title,$num=5,$charset="UTF-8"){
       
        $title=iconv($charset, "GB2312", $title);
        $w=file_get_contents('http://d.baidu.com/rs.php?q='.urlencode($title).'&tn=baidu');
        //die($w);
        //获得列表部分
        preg_match_all("|<div id=con>(.*)</div>|isU",$w,$con);
        $list=$con[1][0];
        //获得具体内容
        preg_match_all("|<ul><li class=ls>(.*)</li><li class=kwc><a target=_blank href=(.*)>(.*)</a></li><li class=bar><img src=http://img.baidu.com/img/bar_1.gif height=6 width=(\d*) align=absmiddle vspace=5></li></ul>|isU",$list,$content);
        //合并成数组,被搜索次数做为键值
        $c=array_combine($content[4],$content[3]);
        //排序
        krsort($c);
        //取前N条
        $r=array_slice($c, 0, $num);   
        //转换成字符串
        $result=implode(",", $r);
        $result=iconv("GB2312", $charset,$result);
        return $result;
}


//通过DZ获取文章关键字,输入标题和内容 即可返回5个关键字数组
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;
}

zhanyou 发表于 2007-12-3 07:43 PM

我顶...........................

psdshow 发表于 2007-12-5 03:42 PM

不错,挺好啊
可能会在以后做站时用上,^_^

psdshow 发表于 2007-12-5 03:45 PM

省得去BAU DU手动查询了
^_^

c1a1o1 发表于 2010-3-15 04:51 PM

学习了 思路不错的 哈哈

niexa123 发表于 2010-3-31 12:30 AM

haode

屋顶 发表于 2010-3-31 09:07 AM

{:3_56:}收藏。。

cnkenly 发表于 2010-4-19 05:01 PM

顶一下

ffcall 发表于 2010-5-23 08:16 PM

好东东,收下了,谢谢

kuye3131 发表于 2010-6-7 05:48 PM

恩,不错

qnbs1 发表于 2010-6-16 09:14 AM

看不懂

xsyqm 发表于 2010-6-22 05:38 PM

晕,我就不会用。呵呵,是不是保存成PHP,然后在服务器上运行

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.