Екраниране на ограничители в PHP
Ако символът не е специален, тогава, когато го използвате като ограничител, той ще трябва да бъде екраниран в самия регулярен израз. Нека разгледаме пример.
Нека ограничителите ни са решетки, а вътре в регулярния израз търсим символа амперсанд. Тъй като амперсандът не е специален символ, ние не го екранираме:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // ще изведе '!'
?>
Нека сега ограничителите са амперсанд и вътре в регулярния израз също ни трябва амперсанд. В този случай амперсандът вътре трябва да бъде екраниран, иначе това ще причини грешка в PHP:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // ще изведе '!'
?>
Поправете грешката, допусната в следния код:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>