当前位置:首页 > PHP教程 > php高级应用 > 列表

php自动获取关键字的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-05 20:40:17 浏览: 评论:0 

这篇文章主要介绍了php自动获取关键字的方法,通过自定义函数tiqukeyword实现关键字的自动获取功能,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了php自动获取关键字的方法,分享给大家供大家参考。

具体实现方法如下:

  1. $mincipin=5;//最小词频 
  2. $minlen=4;//关键字最小长度 
  3. tiqukeyword($tiqustr,$minlen,$mincipin); 
  4. function tiqukeyword($tiqustr,$minlen,$mincipin
  5. {$strlong=strlen($tiqustr); 
  6. $arr=array(); 
  7. $k=-1; 
  8. for($i=0;$i<($strlong-$mincipin*$minlen);$i++){ 
  9. $end=ceil(($strlong-$i)/$mincipin+$i); 
  10. for($j=$minlen;$j<$end;$j++){$num=0; 
  11. if(($guanjianzi=substr($tiqustr,$i,$j))!==false){ 
  12. $wz=$i+$j
  13. $num++;} 
  14. else{break;} 
  15. while($wz<$strlong){if(($wz=strpos($tiqustr,$guanjianzi,$wz))!==false) 
  16. {$num++; 
  17. $wz=$wz+strlen($guanjianzi);} 
  18. else break
  19. if($j==$minlen){ 
  20. if($num>=$mincipin){$maxnum=$num;$k++;$str=substr($tiqustr,$i,$j); 
  21. $arr[$k]=array($i,$j,$str,$num,0); 
  22. else{break;} 
  23. else
  24. if($num>=$maxnum){ 
  25. $maxnum=$num
  26. $str=substr($tiqustr,$i,$j); 
  27. $arr[$k]=array($i,$j,$str,$num,0); 
  28. else break
  29. echo '初步得到的数组:'
  30. print_r($arr); 
  31. //echo '<br/><br/><br/><br/>'; 
  32.  
  33. $arrlong=count($arr); 
  34. for($i=0;$i<$arrlong;$i++){ 
  35. $bjarr=$arr[$i]; 
  36. $nowid=$i
  37. if($bjarr[4]==1)continue
  38. for($j=$i+1;$j<$arrlong;$j++){ 
  39. if($arr[$j][4]==1)continue
  40. $qujianks=$bjarr[0]; 
  41. $qujianjs=$bjarr[1]+$bjarr[0]-1; 
  42. $a=$arr[$j][0]; 
  43. $b=$arr[$j][1]+$arr[$j][0]-1; 
  44. if(($bjarr[2]==$arr[$j][2])&&($bjarr[3]>$arr[$j][3]))$arr[$j][4]=1; 
  45.  
  46. if($a<=$qujianks&&$qujianks<=$b&&$a<=$qujianjs&&$qujianjs<=$b
  47. {if($bjarr[3]<=$arr[$j][3]){ 
  48. $arr[$nowid][4]=1;$nowid=$j;$bjarr=$arr[$j]; 
  49. elseif($qujianks<=$a&&$a<=$qujianjs&&$qujianks<=$b&&$b<=$qujianjs){ 
  50. $arr[$j][4]=1; 
  51.  
  52. echo '<br/><br/><br/><br/>重叠加标记后的数组:'
  53. print_r($arr); 
  54. $jieguoarr=array(); 
  55. for($i=0;$i<$arrlong;$i++) 
  56. {if($arr[$i][4]==0)$jieguoarr[]=$arr[$i]; 
  57.  
  58. echo '<br/><br/><br/><br/>'
  59. echo '最后得到的数组:'
  60. print_r($jieguoarr); 
  61. }

Tags: php获取关键字

分享到:

相关文章