如何取得中文字符串中出现次数最多的子串_php教程-查字典教程网
如何取得中文字符串中出现次数最多的子串
如何取得中文字符串中出现次数最多的子串
发布时间:2016-12-29 来源:查字典编辑
摘要:直接上代码,子串的长度可自己设置(比如连续4个字符的或5个字符的)。复制代码代码如下:$str='我是中国人我是外国人我是韩国人我是美国人我...

直接上代码,子串的长度可自己设置(比如连续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教程学习
    编程开发子分类