1. 程式人生 > >PHP簡單實現“相關文章推薦”功能的方法

PHP簡單實現“相關文章推薦”功能的方法

      通常在做內容網站的時候,需要在每一篇文章中出現與該文章相關的文章列表。對於大多數人來說,使用的方法通常是:建立一個關鍵詞列表,判斷每篇文章包含有那些關鍵詞,最後根據關鍵詞找出與某篇文章最相關的文章。對於內容比較複雜的網站,確定關鍵列表詞顯然會比較麻煩。

      具體思路:從文章列表中取出所有的文章標題,將所有的文章標題都同當前標題對比,將對比結果生成一個數組,按照相似度的大小由大到標題,利用similar_text將這些文章標題同原文章標題做對比,按標題的相似程度重新排列標題,就得到了與原文章相似的文章列表。 

     關鍵函式:

   

<?php
 int similar_text ( string $first, string $second[, float $percent] ) 
?>

    它返回的是兩個字根串的相同位元組數。 

<?php
/**
     * 獲取相關
     * @param  [type] $title    當前標題
     * @param  [type] $arr_title 需要查詢的陣列
     * @return [type]    array()  按照相關程度與$title最相關的陣列
     */
    public function getSimilar($title,$arr_title){
        $arr_len = count($arr_title);
        for($i = 0;$i <= ($arr_len -1 ) ;$i++ ){
        	//獲取兩個字串相似的位元組數
            $arr_similar[$i] = similar_text($arr_title[$i], $title , $persent); 
        }
        arsort($arr_similar); //按照相似的位元組數由高到低排序
        reset($arr_similar); //將指標移到陣列的第一單元
        $index = 0;
       foreach($arr_similar as $old_index=>$similar){
        $new_title_array[$index] = $arr_title[$old_index];
        $index++;
        }
        return$new_title_array;
    }