Rumah > pembangunan bahagian belakang > masalah PHP > PHP如何简单实现“相关文章推荐”功能

PHP如何简单实现“相关文章推荐”功能

醉折花枝作酒筹
Lepaskan: 2023-03-10 22:52:01
ke hadapan
1921 orang telah melayarinya

通常在做内容网站的时候,需要在每一篇文章中出现与该文章相关的文章列表。对于大多数人来说,使用的方法通常是,建立一个关键词列表,判断每篇文章包含有那些关键词,最后根据关键词找出与某篇文章最相关的文章。下面小编就带大家了解实现方法。

PHP如何简单实现“相关文章推荐”功能

      通常在做内容网站的时候,需要在每一篇文章中出现与该文章相关的文章列表。对于大多数人来说,使用的方法通常是:建立一个关键词列表,判断每篇文章包含有那些关键词,最后根据关键词找出与某篇文章最相关的文章。对于内容比较复杂的网站,确定关键列表词显然会比较麻烦。

      具体思路:从文章列表中取出所有的文章标题,将所有的文章标题都同当前标题对比,将对比结果生成一个数组,按照相似度的大小由大到标题,利用similar_text将这些文章标题同原文章标题做对比,按标题的相似程度重新排列标题,就得到了与原文章相似的文章列表。 

     关键函数:

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

它返回的是两个字根串的相同字节数。

<?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;
    }
Salin selepas log masuk

推荐学习:php视频教程

Atas ialah kandungan terperinci PHP如何简单实现“相关文章推荐”功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan