Odstranit ;; v řetězci

0

Otázka

Mám řetězec

;{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)

Chci odstranit ;; tu {karty}(Tajemství Temné Magie;;Nazývá Hrob) (;; mimo)

Výsledek chci

   ;{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)

Zkoušel jsem níže uvedený kód, ale odstranit všechny ;; v řetězci!

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

Nejlepší odpověď

1

Můžeme použít preg_replace_callback zde na cíl celý text vyskytující se v závorkách (...). Pak na každý zápas, udělat jednoduchý řetězec náhradní z ;; na jeden ;.

$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;

Tyto tisky:

;{karty}(Tajemství Temné Magie);;{karty}(Tajemství Temné Magie);;{karty}(Tajemství Temné Magie);;{karty}(Tajemství Temné Magie;;Nazývá Hrob);;{karty}(Tajemství Temné Magie;;Nazývá Hrob;;Tajemství Temné Magie)

;{karty}(Tajemství Temné Magie);;{karty}(Tajemství Temné Magie);;{karty}(Tajemství Temné Magie);;{karty}(Tajemství Temné Magie;Nazývá Hrob);;{karty}(Tajemství Temné Magie;Nazývá Hrob;Tajemství Temné Magie)

2021-11-24 05:29:36

V jiných jazycích

Tato stránka je v jiných jazycích

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