直接上代碼,子串的長度可自己設置(比如連續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;
}