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:簡明扼要的古代魔法
|