欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP簡單實現(xiàn)“相關文章推薦”功能的方法

 更新時間:2014年07月19日 09:39:32   投稿:shichen2014  
這篇文章主要介紹了PHP簡單實現(xiàn)“相關文章推薦”功能的方法,方法簡單功能實用,需要的朋友可以參考下

通常在做內(nèi)容網(wǎng)站的時候,需要在每一篇文章中出現(xiàn)與該文章相關的文章列表。對于大多數(shù)人來說,使用的方法通常是:建立一個關鍵詞列表,判斷每篇文章包含有那些關鍵詞,最后根據(jù)關鍵詞找出與某篇文章最相關的文章。對于內(nèi)容比較復雜的網(wǎng)站,確定關鍵列表詞顯然會比較麻煩。

本文介紹了與以往方法不同的similar_text(php4,php5)函數(shù)來方便的達到我們的預期要求。具體的思路是:從文章列表中取出所有的文章標題,將所有的文章標題都同當前標題對比,將對比結(jié)果生成一個數(shù)組,按照相似度的大小由大到標題,利用similar_text將這些文章標題同原文章標題做對比,按標題的相似程度重新排列標題,就得到了與原文章相似的文章列表。

這個思路用到的關鍵函數(shù)是:

int similar_text ( string $first, string $second[, float $percent] )

它返回的是兩個字根串的相同字節(jié)數(shù)。

按照這個思路,我們建立如下的函數(shù),這個函數(shù)的功能是把$arr_title數(shù)組按照同$title相似的的順序重新排列數(shù)組。

<?php 
$demo_title= "簡明現(xiàn)代魔法"; 
$demo_arr_title= array("簡單易懂的現(xiàn)代魔法","簡單明了的現(xiàn)代魔法","簡明扼要的古代魔法","不簡單的現(xiàn)代魔法","很難懂的現(xiàn)代魔法"); 
$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為需要查找的數(shù)組 
functiongetSimilar($title,$arr_title) 
{ 
$arr_len= count($arr_title); 
for($i=0; $i<=($arr_len-1); $i++) 
{ 
//取得兩個字符串相似的字節(jié)數(shù) 
$arr_similar[$i] = similar_text($arr_title[$i],$title); 
} 
arsort($arr_similar); //按照相似的字節(jié)數(shù)由高到低排序 
reset($arr_similar); //將指針移到數(shù)組的第一單元 
$index= 0; 
foreach($arr_similaras$old_index=>$similar) 
{ 
$new_title_array[$index] = $arr_title[$old_index]; 
$index++; 
} 
return$new_title_array; 
} 
?>

程序運行結(jié)果:

與[簡明現(xiàn)代魔法]最相關的前三個文章是: 
1:簡單明了的現(xiàn)代魔法 
2:簡單易懂的現(xiàn)代魔法 
3:簡明扼要的古代魔法

有些需要注意的地方

關于similar_text速度,有人做過這個一個測試,結(jié)果是:

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.

如果要直接使用正文作對比速度可能會比較慢。

據(jù)說這個函數(shù)用于英文的效果不太好(感興趣的讀者可以自行嘗試)。用于英文時可以將英文句子用空格分開成多個單詞后再寫一個類似于similar_text的函數(shù)。

另外,如果句子中含有比較多“的”、“了”等非關鍵詞字符時,得到的結(jié)果可能會不太理想。

相關文章

  • php時間戳轉(zhuǎn)換代碼詳解

    php時間戳轉(zhuǎn)換代碼詳解

    在本篇文章里小編給各位分享一篇關于php時間戳轉(zhuǎn)換的知識點內(nèi)容,有需要的朋友們可以參考下。
    2019-08-08
  • php+Ajax處理xml與json格式數(shù)據(jù)的方法示例

    php+Ajax處理xml與json格式數(shù)據(jù)的方法示例

    這篇文章主要介紹了php+Ajax處理xml與json格式數(shù)據(jù)的方法,結(jié)合實例形式分析了ajax處理xml格式數(shù)據(jù)及json格式數(shù)據(jù)相關操作技巧與注意事項,需要的朋友可以參考下
    2019-03-03
  • php實現(xiàn)俄羅斯乘法實例

    php實現(xiàn)俄羅斯乘法實例

    這篇文章主要介紹了php實現(xiàn)俄羅斯乘法,實例分析了俄羅斯乘法的原理與代碼實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • php輸入數(shù)據(jù)統(tǒng)一類實例

    php輸入數(shù)據(jù)統(tǒng)一類實例

    這篇文章主要介紹了php輸入數(shù)據(jù)統(tǒng)一類,實例分析了針對輸入數(shù)據(jù)的各種轉(zhuǎn)換技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 利用PHP判斷是否是連乘數(shù)字串的方法示例

    利用PHP判斷是否是連乘數(shù)字串的方法示例

    這篇文章主要介紹了利用PHP判斷是否是連乘數(shù)字串的方法示例,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-07-07
  • PHP中判斷foreach循環(huán)的第一個或者最后一個健名

    PHP中判斷foreach循環(huán)的第一個或者最后一個健名

    我們知道在PHP中,根據(jù)鍵的數(shù)據(jù)類型,數(shù)組分為索引數(shù)組與關聯(lián)數(shù)組,索引數(shù)組判斷foreach循環(huán)的當前健名很簡單,使用關鍵字就可以獲取,關聯(lián)數(shù)組怎么判斷當前健名呢,我們從for循環(huán)找到靈感,本文介紹PHP中判斷foreach循環(huán)的第一個或者最后一個健名已經(jīng)當前健名的方法
    2024-01-01
  • 利用PHP訪問帶有密碼的Redis方法示例

    利用PHP訪問帶有密碼的Redis方法示例

    這篇文章主要介紹了利用PHP如何訪問帶有密碼的Redis,文章開始先介紹了如何設置Redis密碼及方法帶密碼的Redis,方便大家學習和理解,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • PHP實現(xiàn)漢字轉(zhuǎn)拼音類庫的使用方法

    PHP實現(xiàn)漢字轉(zhuǎn)拼音類庫的使用方法

    這篇文章主要為大家介紹了PHP實現(xiàn)漢字轉(zhuǎn)拼音類庫使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • PHP設計模式之單例模式定義與用法分析

    PHP設計模式之單例模式定義與用法分析

    這篇文章主要介紹了PHP設計模式之單例模式定義與用法,結(jié)合實例形式較為詳細的分析了單例模式的概念、特點、優(yōu)缺點,并結(jié)合php實例形式分析了單例模式的定義與使用方法,需要的朋友可以參考下
    2019-03-03
  • PHP反射機制原理與用法詳解

    PHP反射機制原理與用法詳解

    這篇文章主要介紹了PHP反射機制原理與用法,結(jié)合實例形式分析了php反射機制的原理、用法及相關注意事項,需要的朋友可以參考下
    2017-02-02

最新評論