php自动获取关键字的方法


Posted in PHP onJanuary 06, 2015

本文实例讲述了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 IN_ARRAY 函数使用注意事项
Jul 24 PHP
php设计模式 Proxy (代理模式)
Jun 26 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
php实现加减法验证码代码
Feb 14 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
php日期操作技巧小结
Jun 25 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
php中关于换行的实例写法
Sep 26 PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 PHP
windows7下php开发环境搭建图文教程
Jan 06 #PHP
PHP中$this和$that指针使用实例
Jan 06 #PHP
php缓冲输出实例分析
Jan 05 #PHP
php中fsockopen用法实例
Jan 05 #PHP
php中Socket创建与监听实现方法
Jan 05 #PHP
php实现计数器方法小结
Jan 05 #PHP
php下Memcached入门实例解析
Jan 05 #PHP
You might like
php 表单数据的获取代码
2009/03/10 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
pycharm创建一个python包方法图解
2019/04/10 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
python可以用哪些数据库
2020/06/22 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
创业计划书如何编写
2014/02/06 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
三年级小学生评语
2014/04/22 职场文书
初中学生期末评语
2014/04/24 职场文书
土建工程师岗位职责
2014/06/10 职场文书
基石观后感
2015/06/12 职场文书
新闻稿标题
2015/07/18 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫