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上传文件中文文件名乱码的解决方法
Nov 01 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
php实现简易聊天室应用代码
Sep 23 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
Yii清理缓存的方法
Jan 06 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
Laravel框架实现定时发布任务的方法
Aug 16 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 PHP
基于laravel Request的所有方法详解
Sep 29 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 a simple smtp class
2007/11/26 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
Python的math模块中的常用数学函数整理
2016/02/04 Python
深入理解Python中的super()方法
2017/11/20 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
this关键字的作用
2016/01/30 面试题
上课随便讲话检讨书
2014/09/12 职场文书
2014年个人委托书范本
2014/10/13 职场文书
考试作弊检讨书
2014/10/21 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
结婚主持人致辞
2015/07/28 职场文书
合作合同协议书
2016/03/21 职场文书
nginx结合openssl实现https的方法
2021/07/25 Servers