网上找到的函数
<?php
//***************************************************************
//作者:[email protected]
//主页:http://freelyweb.googlepages.com/
//日期:2007-5-18
//转载本程序请保留该以上信息!
//***************************************************************
function getSimilar($title,$arr_title)//$title当前标题,$arrayTitle为需要查找的数组
{
$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_similar as $old_index=>$similar)
{
$new_title_array[$index]=$arr_title[$old_index];
$index++;
}
return $new_title_array;
}
?>
演示:我们建立一个5个数据的数组,并取出与目标标题最相关的前三个标题。
<?php
$demo_title="php如何获得与文章标题相关的文章";
$demo_arr_title=array("php学习教程","asp学习教程","php如何实现上传文件","php学习教程","asp和php那个更容易学习");
$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/>";
}
?>
以上测试了一下。有个问题,就是在实际情况下。相关标题的上链接地址要怎么得到啊?
哎。本人比较笨,想不出来
或许大家还有什么比较好用的函数。发一下,谢谢!

解决方案 »

  1.   

    在这个代码中 $demo_arr_title 是你提供的待检查的文章标题集,自然也应有一个数组保存有他们的连接,或有指示性的内容
    于是,只要知道被匹配的 $demo_arr_title 的下标,就可知道相应的 url 了为此函数  需要做一个改动

    foreach($arr_similar as $old_index=>$similar)
    {
      $new_title_array[$index]=$arr_title[$old_index];
      $index++;
    }
    return $new_title_array;要改为
    foreach($arr_similar as $old_index=>$similar)
    {
      $new_title_array[] = $old_index;
    }
    return $new_title_array;测试代码中的
    for($j=0;$j<=2;$j++)
    {  
    echo ($j+1).":".$new_array[$j]."<br/>";
    }
    要改为
    for($j=0;$j<=2;$j++)
    {  
    echo ($j+1).":".$demo_arr_title[$new_array[$j]]."<br/>";
    }通过 $new_array[$j] 就可找到与 $demo_arr_title 对应的 url 信息了
      

  2.   

    试了下。url是读取出来了。但是和标题对应不了。哎。实在太笨了。能写详细一点吗?
      

  3.   

    羡慕  学习php当中