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


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 相关文章推荐
MySQL中create table语句的基本语法是
Jan 15 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
php实现在服务器端调整图片大小的方法
Jun 16 PHP
php比较两个字符串长度的方法
Jul 13 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
Mar 23 PHP
PHP错误处理函数register_shutdown_function使用示例
Jul 03 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 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 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
axios异步提交表单数据的几种方法
2019/08/11 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
Python数据类型详解(二)列表
2016/05/08 Python
Python中字符串的处理技巧分享
2016/09/17 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
python读取图片任意范围区域
2019/01/23 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
详解django中Template语言
2020/02/22 Python
什么是python的必选参数
2020/06/21 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
幼儿园家长工作总结2015
2015/04/25 职场文书
八月一日观后感
2015/06/10 职场文书
2016年安全月活动总结
2016/04/06 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android