如何取得中文字符串中出现次数最多的子串


Posted in PHP onAugust 08, 2013

直接上代码,子串的长度可自己设置(比如连续4个字符的或5个字符的)。

$str ='我是中国人我是外国人我是韩国人我是美国人我是中国人我是英国人我是中国人我是外国人';
Count_string($str,5);
function Count_string($sstr,$length)
{
 $cnt_tmp = 0;
 $cnt = 0;
 $str = '';
 $str_tmp = array();
 $str_arr = array();
 mb_internal_encoding("gb2312");
 $max_length = (mb_strlen($sstr)-$length); //取得子串集
 for($i=0;$i<=$max_length;$i++)
 {
  $str_tmp[] =  mb_substr($sstr, $i, $length);
 }
 //去除重复子串 
 $str_tmp = array_unique($str_tmp);
 //计算出现次数
 foreach($str_tmp as $key=>$value)
 {
  $cnt_tmp = mb_substr_count($sstr,$value);
  if($cnt_tmp>=$cnt) 
  {
   $cnt = $cnt_tmp;
   $str_arr[$value] = $cnt;   
  }
 }
 //处理出现多重结果
 foreach($str_arr as $key=>$value)
 {
  if($value == $cnt)
  {$str .=$key."<br>";}
 }

 echo '出现最多的子串是:<br>'.$str.'<br>出现次数:'.$cnt;
}
PHP 相关文章推荐
PHP脚本数据库功能详解(中)
Oct 09 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
thinkphp配置文件路径的实现方法
Aug 30 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
基于 Swoole 的微信扫码登录功能实现代码
Jan 15 PHP
浅谈PHP封装CURL
Mar 06 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 PHP
Swoole扩展的6种模式深入详解
Mar 04 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 #PHP
php调用Google translate_tts api实现代码
Aug 07 #PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 #PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 #PHP
对于PHP 5.4 你必须要知道的
Aug 07 #PHP
php缓存技术详细总结
Aug 07 #PHP
IIS6.0中配置php服务全过程解析
Aug 07 #PHP
You might like
优化PHP程序的方法小结
2012/02/23 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
使用layui实现树形结构的方法
2019/09/20 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
业务经理的岗位职责
2013/11/16 职场文书
升职自荐书范文
2013/11/28 职场文书
护理职业生涯规划书
2014/01/24 职场文书
水果超市创业计划书
2014/01/27 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
关于召开会议的通知
2015/04/15 职场文书
赡养老人协议书范本
2015/08/06 职场文书
python 中的@运算符使用
2021/05/26 Python
python flask开发的简单基金查询工具
2021/06/02 Python