|
直接上代碼,子串的長度可自己設(shè)置(比如連續(xù)4個字符的或5個字符的)。
復(fù)制代碼 代碼如下:
$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);
}
//去除重復(fù)子串
$str_tmp = array_unique($str_tmp);
//計算出現(xiàn)次數(shù)
foreach($str_tmp as $key=>$value)
{
$cnt_tmp = mb_substr_count($sstr,$value);
if($cnt_tmp>=$cnt)
{
$cnt = $cnt_tmp;
$str_arr[$value] = $cnt;
}
}
//處理出現(xiàn)多重結(jié)果
foreach($str_arr as $key=>$value)
{
if($value == $cnt)
{$str .=$key."<br>";}
}
echo '出現(xiàn)最多的子串是:<br>'.$str.'<br>出現(xiàn)次數(shù):'.$cnt;
}
php技術(shù):如何取得中文字符串中出現(xiàn)次數(shù)最多的子串,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。