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数组循环操作详细介绍 附实例代码
Feb 03 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
php 获取本地IP代码
Jun 23 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
PHP常用数组函数介绍
Jul 28 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
php获取根域名方法汇总
Oct 28 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
php隐藏实际地址的文件下载方法
Apr 18 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 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实现分页显示
2015/11/03 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
python代码制作configure文件示例
2014/07/28 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
在pycharm中实现删除bookmark
2020/02/14 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
keras 多任务多loss实例
2020/06/22 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
How TDD works
2012/09/30 面试题
少先队学雷锋活动总结范文
2014/03/09 职场文书
二手房购房意向书范本
2014/04/01 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
销售业务员岗位职责
2015/02/13 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技