PHP
たとえば、この文字列には多数の asd があり、いくつかは連続しており、いくつかは 1 つだけです。
しかし、最初の asd だけを保持し、後続の asd をすべて削除したいのですが、どうすればよいでしょうか。
(他のキャラクターに影響を与えずに)
ssssssssgsdfasdasdasdjlkjhkjhalkasdasdjsdkajshdasdaklsjdasdhkjashgdaklsh
望ましい結果:
sss sssssgsdfasdjlkjhkjhalkjsdkajshdaklsjdhkjashgdaklsh
ヒントを教えてください
$s = 'ssssssssgsdfasdasdasdasdjlkjhkjhalkasdasdjsdkajshdasdaklsjdasdhkjashgdaklsh';$t = 'ssssssssgsdfasdjlkjhkjhalkjsdkajshdaklsjdhkjashgdaklsh';$s = preg_replace_callback('/asd/', function($r) { static $n = 0; return ! $n++ ? $r[0] : ''; }, $s);var_dump($s == $t);
I don一日中時間がないので、モデレータに感謝します。 はい、これが preg_replace_callback という便利な機能があることがわかりました。モデレーター