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 相关文章推荐
改变Apache端口等配置修改方法
Jun 05 PHP
Php 构造函数construct的前下划线是双的_
Dec 08 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
PHP常用数组函数介绍
Jul 28 PHP
php删除指定目录的方法
Apr 03 PHP
PHP时间和日期函数详解
May 08 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 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 mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python使用Berkeley DB数据库实例
2014/09/26 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
python实现吃苹果小游戏
2020/03/21 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
产品销售员岗位职责
2013/12/18 职场文书
篝火晚会主持词
2014/03/25 职场文书
《学棋》教后反思
2014/04/14 职场文书
超市客服工作职责
2014/06/11 职场文书
学校开除通知书
2015/04/25 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python