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 相关文章推荐
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
php中几种常见安全设置详解
Apr 06 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
PHP7 整型处理机制修改
Mar 09 PHP
PHP使用QR Code生成二维码实例
Jul 07 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在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
php 中的closure用法详解
2017/06/12 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
PHP时间类完整代码实例
2021/02/26 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
Nuxt.js踩坑总结分享
2018/01/18 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
python中的字典操作及字典函数
2018/01/03 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python excel转换csv代码实例
2019/08/26 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
如何用Python徒手写线性回归
2021/01/25 Python
css3实现input输入框颜色渐变发光效果代码
2014/04/02 HTML / CSS
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
社团成立邀请函
2014/01/08 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
工作违纪检讨书
2014/02/17 职场文书
投标承诺书怎么写
2014/05/24 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
零基础学java之循环语句的使用
2022/04/10 Java/Android