3

preg_replace()文字列を「aabbaacc」から「abc」に置き換えるには、どのように使用すればよいですか?

現在、私のコードは str_split()then array_unique()thenを使用していますimplode()。これも達成できると思いますpreg_replace()が、方法がわかりません。

ご協力ありがとうございました。

4

3 に答える 3

0

これを試して

$string = 'dbbaabbbaac';

$new = preg_replace_callback( array("/(.)\\1+/"),function($M){print_r($M);return $M[1];}, $string  );
$new = preg_replace_callback( array('/(.)(.?\\1)/i','/(.)(.*?\\1)/i'),function($M){return $M[1].trim($M[2],$M[1]);}, $new  );
echo $new."\n";

出力

dbac

または正規表現なしでこれ

$value="aabbaacc";
for($i=0;$i<strlen($value);$i++){
    $out[$value[$i]]=$value[$i];
}
echo implode("",$out);

出力:

abc
于 2013-03-08T13:59:15.443 に答える