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


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中定义网站根目录的常用方法
Aug 08 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
php数组一对一替换实现代码
Aug 31 PHP
PHP字符串的编码问题的详细介绍
Apr 27 PHP
php去除字符串换行符示例分享
Feb 13 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
详解js加减乘除精确计算
2019/03/19 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
python监控文件或目录变化
2016/06/07 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
详解Python import方法引入模块的实例
2017/08/02 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
技能竞赛活动方案
2014/02/21 职场文书
幼儿园秋游感想
2014/03/12 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
中标通知书范本
2015/04/17 职场文书
美容院员工规章制度
2015/08/05 职场文书
入党申请书怎么写?
2019/06/11 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js