萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 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程序設計有所幫助。

copyright © 萬盛學電腦網 all rights reserved