php 如何去掉字符串中重复的字符

如题所述

php去除字符串中重复的字符
<?php
$str = '蚂蚁蚂蚁学院学院,我非常爱爱爱爱爱你!522200011111333311111444';
function mbstringtoarray($str,$charset) {
$strlen=mb_strlen($str);
while($strlen){
$array[]=mb_substr($str,0,1,$charset);
$str=mb_substr($str,1,$strlen,$charset);
$strlen=mb_strlen($str);
}
return $array;
}
$arr = mbstringtoarray($str,"gbk"); //分割字符串
$arr =array_unique($arr); //过滤重复字符
$str = implode('',$arr); //合并数组
echo $str;
?>

执行结果:
蚂蚁学院,我非常爱你!520134
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-22
<?php
$str = '蚂蚁蚂蚁学院学院,我非常爱爱爱爱爱你!522200011111333311111444';
function mbstringtoarray($str,$charset) {
$strlen=mb_strlen($str);
while($strlen){
$array[]=mb_substr($str,0,1,$charset);
$str=mb_substr($str,1,$strlen,$charset);
$strlen=mb_strlen($str);
}
return $array;
}
$arr = mbstringtoarray($str,"gbk"); //分割字符串
$arr =array_unique($arr); //过滤重复字符
$str = implode('',$arr); //合并数组
echo $str;
?>
第2个回答  2014-01-22
<?php
header('Content-Type:text/html; Charset=utf-8');
function mb_str_split( $string ) {
    return preg_split('/(?<!^)(?!$)/u', $string ); 


$string   = '过过过过过ggggg年年年nnnnnn啦啦啦啦啦啦lllll'; 
$charlist = array_unique(mb_str_split( $string )); 


echo implode('', $charlist);

第3个回答  2014-01-22
echo preg_replace('/(?<chr>.)\k<chr>+/','',$str);