本文为大家讲解的是php如何取得中文字符串中出现次数最多的子串,感兴趣的同学参考下. 直接上代码,子串的长度可自己设置(比如连续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++) { &n
本文为大家讲解的是php如何取得中文字符串中出现次数最多的子串,感兴趣的同学参考下.
直接上代码,子串的长度可自己设置(比如连续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 如何 取得 中文 字符串 出现 次数 多的 子串
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!