Weis jemand was ich da falsch mache?
<?php $text ='Das ist eine {test} Beitrag';
echo preg_replace('/{test}/', 'Richtiger', $text);
?>
Hallo!
Das ist natürlich richtig, aber interessant wäre ja auch eine Erklärung.
Ein Suchmuster für `preg_replace()`{:.language-php} muss in sog. [Pattern Delimiter](http://php.net/manual/de/regexp.reference.delimiters.php) (Musterbegrenzer) gepackt werden. Nach dem schließenden Begrenzer können noch eventuelle [Modifier](http://php.net/manual/de/reference.pcre.pattern.modifiers.php) angeben werden.
Meist verwendet man als Delimiter ein Zeichen, das im Suchmuster selbst nicht vorkommt, da man es sonst wieder escapen müsste um das Muster nicht vorzeitig zu beenden. Häufig verwendet: / ~ #
Aber auch Klammernpaare können als Delimiter dienen. Zitiere [manual](http://php.net/manual/de/regexp.reference.delimiters.php):
> It is also possible to use bracket style delimiters where the opening and closing brackets are the starting and ending delimiter, respectively. (), {}, [] and <> are all valid bracket style delimiter pairs.
Bei dem Suchmuster '{test}' werden die geschweiften Klammern als Delimiter angesehen und lediglich nach der Zeichenkette 'test' gesucht.
Schönen Abend, Robert