php取中文字符串中出现次数最多的子串的代码

php中文网
发布: 2016-07-25 09:00:10
原创
1471人浏览过
  1. /***
  2. **子串的长度可以自定义,比如连续4个字符
  3. **site http://bbs.it-home.org
  4. $str ='我是中国人我是外国人我是韩国人我是美国人我是中国人我是英国人我是中国人我是外国人';
  5. Count_string($str,5);
  6. function Count_string($sstr,$length)
  7. {
  8. $cnt_tmp = 0;
  9. $cnt = 0;
  10. $str = '';
  11. $str_tmp = array();
  12. $str_arr = array();
  13. mb_internal_encoding("gb2312");
  14. $max_length = (mb_strlen($sstr)-$length);
  15. //取得子串集
  16. for($i=0;$i {
  17. $str_tmp[] = mb_substr($sstr, $i, $length);
  18. }
  19. //去除重复子串
  20. $str_tmp = array_unique($str_tmp);
  21. //计算出现次数
  22. foreach($str_tmp as $key=>$value)
  23. {
  24. $cnt_tmp = mb_substr_count($sstr,$value);
  25. if($cnt_tmp>=$cnt)
  26. {
  27. $cnt = $cnt_tmp;
  28. $str_arr[$value] = $cnt;
  29. }
  30. }
  31. //处理出现多重结果
  32. foreach($str_arr as $key=>$value)
  33. {
  34. if($value == $cnt)
  35. {$str .=$key."
    ";}
  36. }
  37. echo '出现最多的子串是:
    '.$str.'
    出现次数:'.$cnt;
  38. }
  39. ?>
复制代码

有兴趣的朋友,还可以参考下这篇:php计算未知长度的字符串中出现的次数最多字符的代码

百度文心百中
百度文心百中

百度大模型语义搜索体验中心

百度文心百中 22
查看详情 百度文心百中


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号