Escapovanie oddeľovačov v PHP
Ak znak nie je špeciálny, potom, keď ho použijete ako oddeľovač, bude ho potrebné escapovať v samotnom regulárnom výraze. Pozrime sa na príklad.
Nech sú ako oddeľovače použité mriežky a v regulárnom výraze hľadáme znak ampersand. Keďže ampersand nie je špeciálnym znakom, neescapujeme ho:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // vypíše '!'
?>
Nech sú teraz oddeľovače - ampersandy a v regulárnom výraze potrebujeme tiež ampersand. V takom prípade je potrebné ampersand vnútri escapovať, inak to spôsobí chybu PHP:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // vypíše '!'
?>
Opravte chybu, ktorá bola urobená v nasledujúcom kóde:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>