如何取得中文字符串中出現(xiàn)次數(shù)最多的子串
直接上代碼,子串的長度可自己設(shè)置(比如連續(xù)4個(gè)字符的或5個(gè)字符的)。
$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);
//計(jì)算出現(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;
}
相關(guān)文章
php實(shí)現(xiàn)的中文分詞類完整實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的中文分詞類,結(jié)合完整實(shí)例形式分析了php基于字符串的遍歷、轉(zhuǎn)換、運(yùn)算等技巧實(shí)現(xiàn)中文分詞功能的具體方法,需要的朋友可以參考下2017-02-02php實(shí)現(xiàn)圖片轉(zhuǎn)換成ASCII碼的方法
這篇文章主要介紹了php實(shí)現(xiàn)圖片轉(zhuǎn)換成ASCII碼的方法,涉及php操作圖片的技巧,需要的朋友可以參考下2015-04-04php字符串分割函數(shù)explode的實(shí)例代碼
在php中分割一個(gè)字符串,我們可以使用函數(shù)explode(),其原型如下2013-02-02SublimeText3配置PHP函數(shù)追蹤定位插件
這篇文章主要介紹了SublimeText3的PHP函數(shù)追蹤定位插件ctags和codeBeautifier,對(duì)SublimeText3感興趣的同學(xué),可以多研究下2021-04-04php 獲取本機(jī)外網(wǎng)/公網(wǎng)IP的代碼
大家一般都是用$_SERVER['REMOTE_ADDR']來獲取用戶IP,經(jīng)過我的研究有兩種方法來獲取用戶的真實(shí)外網(wǎng)IP。2010-05-05javascript+php實(shí)現(xiàn)根據(jù)用戶時(shí)區(qū)顯示當(dāng)?shù)貢r(shí)間的方法
這篇文章主要介紹了javascript+php實(shí)現(xiàn)根據(jù)用戶時(shí)區(qū)顯示當(dāng)?shù)貢r(shí)間的方法,實(shí)例分析javascript獲取客戶端時(shí)區(qū)及與服務(wù)器端php交互的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03解析PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)
本篇文章是對(duì)PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP+MySQL實(shí)現(xiàn)消息隊(duì)列的方法分析
這篇文章主要介紹了PHP+MySQL實(shí)現(xiàn)消息隊(duì)列的方法,結(jié)合實(shí)例形式分析了php+mysql構(gòu)建消息隊(duì)列并使用定時(shí)器間歇發(fā)送信息相關(guān)操作技巧,需要的朋友可以參考下2018-05-05