Ekranowanie ograniczników w PHP
Jeśli znak nie jest specjalny, to, kiedy używasz go jako ogranicznika, będzie trzeba go ekranować w samym wyrażeniu regularnym. Spójrzmy na przykład.
Załóżmy, że jako ograniczniki występują krzyżyki, a wewnątrz wyrażenia regularnego szukamy znaku ampersandu. Ponieważ ampersand nie jest znakiem specjalnym, to nie ekranujemy go:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // wyświetli '!'
?>
Załóżmy teraz, że ograniczniki to ampersandy i wewnątrz wyrażenia regularnego również potrzebny jest ampersand. W takim przypadku ampersand wewnątrz trzeba ekranować, inaczej spowoduje to błąd PHP:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // wyświetli '!'
?>
Popraw błąd popełniony w następującym kodzie:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>