如何取得中文字符串中出现次数最多的子串

2015-01-24信息快讯网

以下是对取得中文字符串中出现次数最多的子串的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下

直接上代码,子串的长度可自己设置(比如连续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查找字符串出现次数的方法
PHP实现取得HTTP请求的原文
取得单条网站评论以数组形式进行输出
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
php将字符串转化成date存入数据库的两种方式
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
php生成随机字符串可指定纯数字、纯字母或者混合的
PHP中比较两个字符串找出第一个不同字符位置例子
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
PHP6 中可能会出现的新特性预览
php curl post 时出现的问题解决
php读取mysql中文数据出现乱码的解决方法
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
怎样使用php与jquery设置和读取cookies
php读取图片内容并输出到浏览器的实现代码
php addslashes 利用递归实现使用反斜线引用字符串
PHP自动识别字符集并完成转码详解
浅析51个PHP处理字符串的函数
php的数组与字符串的转换函数整理汇总
php字符串截取的简单方法
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
关于zend studio 出现乱码问题的总结
解析使用substr截取UTF-8中文字符串出现乱码的问题
PHP下打开phpMyAdmin出现403错误的问题解决方法
php中取得文件的后缀名?
Linux fgetcsv取得的数组元素为空字符串的解决方法
©2014-2024 dbsqp.com