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


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实现WEB动态网页静态
Oct 09 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
php header示例代码(推荐)
Sep 08 PHP
php 文件上传类代码
Aug 06 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
php文件上传的两种实现方法
Apr 04 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
利用jquery实现实时更新歌词的方法
2017/01/06 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
web.py获取上传文件名的正确方法
2014/08/26 Python
浅谈Python单向链表的实现
2015/12/24 Python
python表格存取的方法
2018/03/07 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
公司营业员的工作总结自我评价
2013/10/05 职场文书
公司请假条范文
2014/04/11 职场文书
保护水资源的标语
2014/06/17 职场文书
给老师的感谢信
2015/01/20 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
Redis性能监控的实现
2021/07/09 Redis