PHP簡單實現“相關文章推薦”功能的方法
阿新 • • 發佈:2018-11-28
通常在做內容網站的時候,需要在每一篇文章中出現與該文章相關的文章列表。對於大多數人來說,使用的方法通常是:建立一個關鍵詞列表,判斷每篇文章包含有那些關鍵詞,最後根據關鍵詞找出與某篇文章最相關的文章。對於內容比較複雜的網站,確定關鍵列表詞顯然會比較麻煩。
具體思路:從文章列表中取出所有的文章標題,將所有的文章標題都同當前標題對比,將對比結果生成一個數組,按照相似度的大小由大到標題,利用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; }