php自动获取关键字的方法
php自动获取关键字的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了php自动获取关键字的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:$mincipin=5;//最小词频$m...

本文实例讲述了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 '<br/><br/><br/><br/>';

$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 '<br/><br/><br/><br/>重叠加标记后的数组:';

print_r($arr);

$jieguoarr=array();

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

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

}

echo '<br/><br/><br/><br/>';

echo '最后得到的数组:';

print_r($jieguoarr);

}

希望本文所述对大家的php程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类