この記事ではphpでキーワードを自動取得する方法について説明します。皆さんの参考に共有してください。
具体的な実装方法は以下の通りです。
コードは次のとおりです: $mincipin=5;//最小単語頻度$minlen=4;//キーワードの最小長
tiqukeyword($tiqustr,$minlen,$mincipin);
関数 tiqukeyword($tiqustr,$minlen,$mincipin)
{$strlong=strlen($tiqustr);
$arr=array();
$k=-1;
for($i=0;$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{ブレイク;}
while($wz {$num++;
$wz=$wz+strlen($guanjianzi);}
その他の休憩;
}
if($j==$minlen){
if($num>=$mincipin){$maxnum=$num;$k++;$str=substr($tiqustr,$i,$j);
$arr[$k]=array($i,$j,$str,$num,0);
}
else{ブレイク;}
}
その他{
if($num>=$maxnum){
$maxnum=$num;
$str=substr($tiqustr,$i,$j);
$arr[$k]=array($i,$j,$str,$num,0);
}
その他の休憩;
}
}
}
echo '最初に取得した配列:';
print_r($arr);
//エコー '
';
$arrlong=count($arr);
for($i=0;$i $bjarr=$arr[$i];
$nowid=$i;
if($bjarr[4]==1)Continue;
for($j=$i+1;$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[$nowid][4]=1;$nowid=$j;$bjarr=$arr[$j];
}
}
elseif($qujianks<=$a&&$a<=$qujianjs&&$qujianks<=$b&&$b<=$qujianjs){
$arr[$j][4]=1;
}
}
}
エコー
重ねてマークした後の配列: ';
print_r($arr);
$jieguarr=array();
for($i=0;$i {if($arr[$i][4]==0)$jieguoarr[]=$arr[$i];
}
エコー
';
echo '最終配列:';
print_r($jieguarr);
}
この記事が皆様の PHP プログラミング設計に役立つことを願っています。