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的面向对象编程
Oct 09 PHP
Get或Post提交值的非法数据处理
Oct 09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
ThinkPHP连接数据库的方式汇总
Dec 05 PHP
php提交表单发送邮件的方法
Mar 20 PHP
php通过排列组合实现1到9数字相加都等于20的方法
Aug 03 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
CI框架中类的自动加载问题分析
Nov 21 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php curl模拟post请求小实例
2013/11/13 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
解决paramiko执行命令超时的问题
2020/04/16 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
毕业生个人的求职信范文
2013/12/03 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
相亲活动方案
2014/08/26 职场文书
司机工作自我鉴定
2014/09/19 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
Win11更新失败并提示0xc1900101
2022/04/19 数码科技