PHP简单实现“相关文章推荐”功能的方法,此方法不是自创

1, 所用的函数:int similar_text ( string$first, string$second[, float$percent] )

利用similar_text将这些文章标题同原文章标题做对比,按标题的相似程度重新排列标题,就得到了与原文章相似的文章列表。

<?php

$demo_title="简明现代魔法";

$demo_arr_title=array("简单易懂的现代魔法","简单明了的现代魔法","简明扼要的古代魔法","不简单的现代魔法","很难懂的现代魔法");

$new_array= getSimilar($demo_title,$demo_arr_title);

//print_r($new_array);

echo"与[$demo_title]最相关的前三个文章是:<br/>";

for($j=0;$j<=2;$j++)

{

echo($j+1).":".$new_array[$j]."<br/>";

}

//$title当前标题,$arrayTitle为需要查找的数组

functiongetSimilar($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);

}

arsort($arr_similar);//按照相似的字节数由高到低排序

reset($arr_similar);//将指针移到数组的第一单元

$index= 0;

foreach($arr_similaras$old_index=>$similar)

{

$new_title_array[$index] =$arr_title[$old_index];

$index++;

}

return$new_title_array;

}

?>

程序运行结果:

?

1

2

3

4

与[简明现代魔法]最相关的前三个文章是:

1:简单明了的现代魔法

2:简单易懂的现代魔法

3:简明扼要的古代魔法