Usunąć ;; w wierszu

0

Pytanie

Mam wiersz

;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic;;Called by the Grave);;{card}(Secrets of Dark Magic;;Called by the Grave;;Secrets of Dark Magic)

Chcę usunąć ;; tutaj {mapa}(Sekrety Czarnej magii;;Spowodowany Grobem) ( nie ;; na zewnątrz)

Wynik, którego chcę

   ;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic;Called by the Grave);;{card}(Secrets of Dark Magic;Called by the Grave;Secrets of Dark Magic)

Próbowałem kod poniżej, ale on usuwa wszystkie ;; w wierszu!

$search = ';;';
$string = preg_replace("/($search)/", ";", $string); 
php regex
2021-11-24 05:22:41
1

Najlepsza odpowiedź

1

Możemy użyć preg_replace_callback tutaj, aby wpisać cały tekst, ujętej w nawiasy (...). Następnie przy każdym zgodności należy wykonywać prostą wymianę wiersze z ;; dla samotnych ;.

$input = ";{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic;;Called by the Grave);;{card}(Secrets of Dark Magic;;Called by the Grave;;Secrets of Dark Magic)";
$output = preg_replace_callback("/\(.*?\)/", function($matches) {
    return str_replace(";;", ";", $matches[0]);
}, $input);
echo $input;
echo "\n";
echo $output;

To drukuje:

;{mapa}(Sekrety Czarnej Magii);;{mapa}(Sekrety Czarnej Magii);;{mapa}(Sekrety Czarnej Magii);;{mapa}(Sekrety Czarnej Magii;;Spowodowany Grobem);;{mapa}(Sekrety Czarnej Magii;;Spowodowany Grobem;;Sekrety Czarnej Magii)

;{mapa}(Sekrety Czarnej Magii);;{mapa}(Sekrety Czarnej Magii);;{mapa}(Sekrety Czarnej Magii);;{mapa}(Sekrety Czarnej Magii;Spowodowany Grobem);;{mapa}(Sekrety Czarnej Magii;Spowodowany Grobem;Sekrety Czarnej Magii)

2021-11-24 05:29:36

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................