unbekannte Anzahl unbekannter Platzhalter ersetzen

Kaldorias

Grünschnabel
Wir haben einen String mit variablem Inhalt. In ihm sind Platzhalter in Form von {XXX} enthalten.
Die Anzahl der Platzhalter und der Name (statt dem XXX) variiert.

Wie müsste der Algorithmus aussehen, der mir alle Platzhalter in einem String raussucht?

Beispiel:
PHP:
$var = 'Das {ist} ein einfacher {Test}';

Wie gesagt: Wir wissen 1. nicht wie viele Platzhalter im String sind und 2. nicht wie diese heißen.

Wie bekomme ich jetzt die Teilstrings herausgefiltert?

Edit:
PHP:
$var = "DAS {ist} ein {Test}";

while(strpos($var,'{')){
$start = strpos($var,'{');
$ende = strpos($var,'}');
$weg = $ende - $start;

$teil = ltrim(substr($var,$start,$weg),'{');


print $teil;print '<br>';

$var = str_replace("{".$teil."}",'Ersetzt',$var);
}
:)
 
Zuletzt bearbeitet:
Ich würde mit regulären Ausdrücken arbeiten, beispielsweise:
PHP:
$str = preg_replace('/\{([a-zA-Z]+)\}/e', 'strtoupper("$1")', $str);
Mit dem „e“-Modifikator wird die Ersatzzeichenkette als PHP-Code verarbeitet, so dass auch Komplexeres möglich ist.
 
Zurück