Escaparea delimitatorilor în PHP
Dacă un caracter nu este special, atunci, când îl utilizați ca delimitator, va trebui să-l escapați în expresia regulată însăși. Să vedem un exemplu.
Să presupunem că folosim semnul diez (grila) ca delimitatori, iar în interiorul expresiei regulate căutăm caracterul ampersand. Deoarece ampersand nu este un caracter special, nu îl escapăm:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // va afișa '!'
?>
Să presupunem acum că delimitatorii sunt ampersanduri și în interiorul expresiei regulate avem nevoie și de un ampersand. În acest caz, ampersand-ul din interior trebuie escapat, altfel va provoca o eroare PHP:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // va afișa '!'
?>
Corectați eroarea făcută în următorul cod:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>