- 相關(guān)推薦
PHP自動獲取關(guān)鍵字的方法技巧
幻想在漫長的生活征途中順水行舟的人,他的終點在下游。只有敢于揚起風(fēng)帆,頂惡浪的勇士,才能爭到上游。以下是小編為大家搜索整理的PHP自動獲取關(guān)鍵字的方法技巧,希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
具體實現(xiàn)方法如下:
代碼如下:$mincipin=5;//最小詞頻
$minlen=4;//關(guān)鍵字最小長度
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 '初步得到的數(shù)組:';
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 '
重疊加標記后的數(shù)組:';
print_r($arr);
$jieguoarr=array();
for($i=0;$i<$arrlong;$i++)
{if($arr[$i][4]==0)$jieguoarr[]=$arr[$i];
}
echo '
';
echo '最后得到的數(shù)組:';
print_r($jieguoarr);
}
【PHP自動獲取關(guān)鍵字的方法技巧】相關(guān)文章:
PHP實現(xiàn)獲取域名的方法小結(jié)06-08
PHP中this關(guān)鍵字06-08
php生成圓角圖片的方法技巧07-20
PHP獲取遠程文件大小的3種解決方法04-29
如何實現(xiàn)PHP獲取表單數(shù)據(jù)與HTML嵌入PHP腳本09-23
PHP獲取當前日期和時間及格式化方法參數(shù)10-07
自學(xué)PHP方法09-24
PHP獲取腳本運行時間的應(yīng)用10-18