写了一个destoon根据标题调取百度下拉+淘宝下拉词函数,增强页面相关性,也可以用于自动分词,提取相关词,适用于destoon任意版本,废话不多说。上代码!
首先在/api/extend.func.php里加入:
//根据标题调取相关下拉 function getRelcontentbyTitle($title){ $word=$title; $word=urlencode($word); $s = file_get_contents('http://suggest.taobao.com/sug?extras=1&code=utf-8&callback=g_ks_suggest_callback&q='.$word); preg_match('/\{.+\}/', $s, $m); foreach (json_decode($m[0])->result as $v) { $arr[] = $v[0]; } //print_r($arr); if ($arr!==""){ //获取数组中元素的值如下: foreach($arr as $key=>$value) { echo "<div style='margin-right:3px;line-height:2.2;' class='label label-warning' >".$value." </div>"; } } $data=file_get_contents('http://suggestion.baidu.com/su?wd='.$word); $data=mb_convert_encoding($data, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5' ); $data_temp=strpos($data,"x"); $data=substr_replace($data,"",$data_temp,17); $data = trim($data,");"); $data = trim($data,"{"); $data=preg_replace("/q:.+?.e,/",'', $data); $data = str_replace("[","",$data); $data = str_replace("]","",$data); $data = "[".$data."]"; $data = str_replace(",","},s:",$data); $data = str_replace("s:","{\"s\":",$data);//复杂的处理,以符合json格式 $dc=json_decode($data); for ($n=0; $n<=4; $n++) { $wd[$n]=$dc[$n]->s; echo "<div style='margin-right:3px;line-height:2.2;' class='label label-warning' >".$wd[$n]." </div>"; } }
然后在内容详情的show模板页面调用,例如:
<span class="glyphicon glyphicon-tags">相关联想: {getRelcontentbyTitle($title)}</span>
测试效果如下: