程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php自動獲取關鍵字的方法

php自動獲取關鍵字的方法

編輯:關於PHP編程

       本文實例講述了php自動獲取關鍵字的方法。分享給大家供大家參考。

      具體實現方法如下:

      代碼如下:$mincipin=5;//最小詞頻

      $minlen=4;//關鍵字最小長度

      tiqukeyword($tiqustr,$minlen,$mincipin);

      function tiqukeyword($tiqustr,$minlen,$mincipin)

      {$strlong=strlen($tiqustr);

      $arr=array();

      $k=-1;

      for($i=0;$i<($strlong-$mincipin*$minlen);$i++){

      $end=ceil(($strlong-$i)/$mincipin+$i);

      for($j=$minlen;$j<$end;$j++){$num=0;

      if(($guanjianzi=substr($tiqustr,$i,$j))!==false){

      $wz=$i+$j;

      $num++;}

      else{break;}

      while($wz<$strlong){if(($wz=strpos($tiqustr,$guanjianzi,$wz))!==false)

      {$num++;

      $wz=$wz+strlen($guanjianzi);}

      else break;

      }

      if($j==$minlen){

      if($num>=$mincipin){$maxnum=$num;$k++;$str=substr($tiqustr,$i,$j);

      $arr[$k]=array($i,$j,$str,$num,0);

      }

      else{break;}

      }

      else{

      if($num>=$maxnum){

      $maxnum=$num;

      $str=substr($tiqustr,$i,$j);

      $arr[$k]=array($i,$j,$str,$num,0);

      }

      else break;

      }

      }

      }

      echo '初步得到的數組:';

      print_r($arr);

      //echo '

      ';

      $arrlong=count($arr);

      for($i=0;$i<$arrlong;$i++){

      $bjarr=$arr[$i];

      $nowid=$i;

      if($bjarr[4]==1)continue;

      for($j=$i+1;$j<$arrlong;$j++){

      if($arr[$j][4]==1)continue;

      $qujianks=$bjarr[0];

      $qujianjs=$bjarr[1]+$bjarr[0]-1;

      $a=$arr[$j][0];

      $b=$arr[$j][1]+$arr[$j][0]-1;

      if(($bjarr[2]==$arr[$j][2])&&($bjarr[3]>$arr[$j][3]))$arr[$j][4]=1;

      if($a<=$qujianks&&$qujianks<=$b&&$a<=$qujianjs&&$qujianjs<=$b)

      {if($bjarr[3]<=$arr[$j][3]){

      $arr[$nowid][4]=1;$nowid=$j;$bjarr=$arr[$j];

      }

      }

      elseif($qujianks<=$a&&$a<=$qujianjs&&$qujianks<=$b&&$b<=$qujianjs){

      $arr[$j][4]=1;

      }

      }

      }

      echo '

      重疊加標記後的數組:';

      print_r($arr);

      $jieguoarr=array();

      for($i=0;$i<$arrlong;$i++)

      {if($arr[$i][4]==0)$jieguoarr[]=$arr[$i];

      }

      echo '

      ';

      echo '最後得到的數組:';

      print_r($jieguoarr);

      }

      希望本文所述對大家的php程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved