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


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+MySQL 制作简单的留言本
Nov 02 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
php文件缓存方法总结
Mar 16 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
PHP explode()函数用法讲解
Feb 15 PHP
PHP rmdir()函数的用法总结
Jul 02 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
PHP基于array_unique实现二维数组去重
Jul 14 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 Mysql日期和时间函数集合
2007/11/16 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
php实现字符串翻转的方法
2015/03/27 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
Python与Java间Socket通信实例代码
2017/03/06 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
Python使用get_text()方法从大段html中提取文本的实例
2019/08/27 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
社会实践的活动方案
2014/08/22 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
经理助理岗位职责
2015/02/02 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL