本篇文章给大家分享的是有关如何在PHP项目中实现一个相关文章推荐功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创新互联建站服务项目包括清河网站建设、清河网站制作、清河网页制作以及清河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,清河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到清河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!这个思路用到的关键函数是:
int similar_text ( string $first, string $second[, float $percent] )
它返回的是两个字根串的相同字节数。
按照这个思路,我们建立如下的函数,这个函数的功能是把$arr_title数组按照同$title相似的的顺序重新排列数组。
"; for($j=0; $j<=2; $j++) { echo($j+1).":".$new_array[$j]."
"; } //$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:简明扼要的古代魔法
有些需要注意的地方:
关于similar_text速度,有人做过这个一个测试,结果是:
The speed issues for similar_text seem to be only an issue for long sections of text (>20000 chars).
I found a huge performance improvement in my application by just testing if the string to be tested was less than 20000 chars before calling similar_text.
20000+ took 3-5 secs to process, anything else (10000 and below) took a fraction of a second. Fortunately for me, there was only a handful of instances with >20000 chars which I couldn't get a comparison % for.
如果要直接使用正文作对比速度可能会比较慢。
据说这个函数用于英文的效果不太好(感兴趣的读者可以自行尝试)。用于英文时可以将英文句子用空格分开成多个单词后再写一个类似于similar_text的函数。
以上就是如何在PHP项目中实现一个相关文章推荐功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。