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


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 相关文章推荐
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
php5 mysql分页实例代码
Apr 10 PHP
zen cart新进商品的随机排序修改方法
Sep 10 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 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下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
php for 循环使用的简单实例
2016/06/02 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
javascript正则表达式总结
2016/02/29 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python常用内置函数总结
2015/02/08 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
python 系统调用的实例详解
2017/07/11 Python
python简单验证码识别的实现方法
2019/05/10 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
学徒工职责
2014/03/06 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
年度考核个人总结
2015/03/06 职场文书
安全守法证明
2015/06/23 职场文书
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技