用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php 去除重复的字符串程序代码

时间:2015-01-23  来源:西部数据  作者:西部数据

在开发时我们可能会经常要去除重复的字符串,下面我以php为例来介绍在php中去除重复的字符串多方法.

正则表达式,代码如下:

echo preg_replace("/([^s]+)*\1{2,}([^s]+)*/",'',$string);

用循环我给写了个.

例1,代码如下:

  1. $str = 'abccba 9872223s 12121212 ddd 1234560 vbwwc asasasasas zxzx qaz';  
  2. $source_array = explode(" "$str);  
  3. foreach($source_array as $key=>$item){  
  4.     $current_str = str_split($item, 1);  
  5.     $current_array=array_count_values($current_str);      
  6.     foreach ($current_array as $k => $it){  
  7.             if($it>=3)  
  8.                 unset($source_array[$key]);  
  9.     }  
  10. }  
  11. var_dump($source_array); 

例2,代码如下:

  1. <?php  
  2. $str = '蚂蚁蚂蚁学院学院,我非常爱爱爱爱爱你!522200011111333311111444'
  3. function mbstringtoarray($str,$charset) { 
  4.   $strlen=mb_strlen($str); 
  5.   while($strlen){ 
  6.     $array[]=mb_substr($str,0,1,$charset); 
  7.     $str=mb_substr($str,1,$strlen,$charset); 
  8.     $strlen=mb_strlen($str); 
  9.   } 
  10.   return $array
  11. $arr = mbstringtoarray($str,"gbk");  //分割字符串 
  12. $arr = array_unique($arr);           //过滤重复字符 
  13. $str = implode(''$arr);            //合并数组 
  14. echo $str
  15. ?> 

另一种办法:preg_replace_callback() 就更简单了,不过 preg_replace() 可以使用e修饰符来实现PREG_REPLACE_EVAL,能达到差不多的效果,代码如下:

  1. echo preg_replace('/([^s]+)/e','check("\1")',$string);   
  2. function check($str) {   
  3.        $tmp=count_chars($str,1);   
  4.        sort($tmp);   
  5.        return array_pop($tmp)>2?"":$str;   
  6.  } 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门