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


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购物车实现代码
Oct 10 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
PHP比你想象的好得多
Nov 27 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
在laravel中使用Symfony的Crawler组件分析HTML
Jun 19 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
Jun 06 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常用文件操作函数汇总
2014/11/22 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python中stdout输出不缓存的设置方法
2014/05/29 Python
python实现教务管理系统
2018/03/12 Python
python如何定义带参数的装饰器
2018/03/20 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
python制作mysql数据迁移脚本
2019/01/01 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
大二学生学习个人自我评价
2014/01/19 职场文书
解除租房协议书
2014/12/03 职场文书
考试作弊检讨
2015/01/27 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
golang中的空接口使用详解
2021/03/30 Python