Maskierung von Begrenzern in PHP
Wenn ein Zeichen nicht speziell ist, dann, wenn Sie es als Begrenzer verwenden, muss es im regulären Ausdruck selbst maskiert werden. Sehen wir uns ein Beispiel an.
Nehmen wir an, Rauten werden als Begrenzer verwendet, und innerhalb des regulären Ausdrucks suchen wir nach dem Zeichen Kaufmanns-Und. Da das Kaufmanns-Und kein Sonderzeichen ist, maskieren wir es nicht:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // gibt '!' aus
?>
Nehmen wir nun an, die Begrenzer sind Kaufmanns-Und und innerhalb des regulären Ausdrucks benötigen wir ebenfalls ein Kaufmanns-Und. In diesem Fall muss das innere Kaufmanns-Und maskiert werden, andernfalls verursacht dies einen PHP-Fehler:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // gibt '!' aus
?>
Korrigieren Sie den Fehler, der im folgenden Code gemacht wurde:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>