ホームページ  >  記事  >  バックエンド開発  >  php_PHPチュートリアルでキーワードを自動取得する方法

php_PHPチュートリアルでキーワードを自動取得する方法

WBOY
WBOYオリジナル
2016-07-13 09:55:33736ブラウズ

phpでキーワードを自動取得する方法

この記事では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 プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/991643.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/991643.html技術記事 phpでキーワードを自動取得する方法 この記事ではphpでキーワードを自動取得する方法について説明します。皆さんの参考に共有してください。 具体的な実装方法は以下の通りです コードは以下の通りです $mincipin=5;//一番...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。