首頁 > 後端開發 > php教程 > php取中文字串中出現次數最多的子字串的程式碼

php取中文字串中出現次數最多的子字串的程式碼

WBOY
發布: 2016-07-25 09:00:10
原創
1085 人瀏覽過
  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<=$max_length;$i++)
  17. {
  18. $str_tmp[] = mb_substr($sstr, $i, $length);
  19. }
  20. //去除重复子串
  21. $str_tmp = array_unique($str_tmp);
  22. //计算出现次数
  23. foreach($str_tmp as $key=>$value)
  24. {
  25. $cnt_tmp = mb_substr_count($sstr,$value);
  26. if($cnt_tmp>=$cnt)
  27. {
  28. $cnt = $cnt_tmp;
  29. $str_arr[$value] = $cnt;
  30. }
  31. }
  32. //处理出现多重结果
  33. foreach($str_arr as $key=>$value)
  34. {
  35. if($value == $cnt)
  36. {$str .=$key."
    ";}
  37. }
  38. echo '出现最多的子串是:
    '.$str.'
    出现次数:'.$cnt;
  39. }
  40. ?>
复制代码

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



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板