源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-08-24 02:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何取得中文字符串中出现次数最多的子串
直接上代码,子串的长度可自己设置(比如连续4个字符的或5个字符的)。
[u]复制代码[/u] 代码如下:
$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; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部