如何取得中文字符串中出現(xiàn)次數(shù)最多的子串
更新時間:2013年08月08日 09:02:43 作者:
以下是對取得中文字符串中出現(xiàn)次數(shù)最多的子串的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友可以過來參考下
直接上代碼,子串的長度可自己設置(比如連續(xù)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);
//計算出現(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)多重結果
foreach($str_arr as $key=>$value)
{
if($value == $cnt)
{$str .=$key."<br>";}
}
echo '出現(xiàn)最多的子串是:<br>'.$str.'<br>出現(xiàn)次數(shù):'.$cnt;
}
您可能感興趣的文章:
相關文章
SublimeText3配置PHP函數(shù)追蹤定位插件
這篇文章主要介紹了SublimeText3的PHP函數(shù)追蹤定位插件ctags和codeBeautifier,對SublimeText3感興趣的同學,可以多研究下2021-04-04php 獲取本機外網(wǎng)/公網(wǎng)IP的代碼
大家一般都是用$_SERVER['REMOTE_ADDR']來獲取用戶IP,經(jīng)過我的研究有兩種方法來獲取用戶的真實外網(wǎng)IP。2010-05-05javascript+php實現(xiàn)根據(jù)用戶時區(qū)顯示當?shù)貢r間的方法
這篇文章主要介紹了javascript+php實現(xiàn)根據(jù)用戶時區(qū)顯示當?shù)貢r間的方法,實例分析javascript獲取客戶端時區(qū)及與服務器端php交互的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03