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


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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
php while循环得到循环次数
Oct 26 PHP
php实现RSA加密类实例
Mar 26 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
实例讲解PHP表单处理
Feb 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
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
详解JavaScript中的链式调用
2020/11/27 Javascript
Python验证企业工商注册码
2015/10/25 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
Python如何访问字符串中的值
2020/02/09 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
师范应届生语文教师求职信
2013/10/29 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers
MySQL数据库查询之多表查询总结
2022/08/05 MySQL