ホームページ > php教程 > php手册 > php 去除重复的字符串程序代码

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

WBOY
リリース: 2016-05-25 16:43:46
オリジナル
1497 人が閲覧しました

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

正则表达式,代码如下:

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

用循环我给写了个.

例1,代码如下:

$str = 'abccba 9872223s 12121212 ddd 1234560 vbwwc asasasasas zxzx qaz';  
$source_array = explode(" ", $str);  
foreach($source_array as $key=>$item){  
    $current_str = str_split($item, 1);  
    $current_array=array_count_values($current_str);      
    foreach ($current_array as $k => $it){  
            if($it>=3)  
                unset($source_array[$key]);  
    }  
}  
var_dump($source_array);
ログイン後にコピー

例2,代码如下:

<?php
$str = &#39;蚂蚁蚂蚁学院学院,我非常爱爱爱爱爱你!522200011111333311111444&#39;;
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(&#39;&#39;, $arr); //合并数组
echo $str;
?>
ログイン後にコピー

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

<?php
echo preg_replace(&#39;/([^s]+)/e&#39;, &#39;check("1")&#39;, $string);
function check($str) {
    $tmp = count_chars($str, 1);
    sort($tmp);
    return array_pop($tmp) > 2 ? "" : $str;
}
?>
ログイン後にコピー


本文地址:

转载随意,但请附上文章地址:-)

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート