Escaping van scheidingstekens in PHP
Als een teken niet speciaal is, dan moet je, wanneer je het gebruikt als scheidingsteken, het escapen in de reguliere expressie zelf. Laten we een voorbeeld bekijken.
Stel dat we hekjes gebruiken als scheidingstekens, en binnen de reguliere expressie zoeken we naar het ampersand-teken. Omdat ampersand geen speciaal teken is, escapen we het niet:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // geeft '!' weer
?>
Stel nu dat de scheidingstekens ampersands zijn en binnen de reguliere expressie hebben we ook een ampersand nodig. In dat geval moeten we de ampersand binnenin escapen, anders veroorzaakt dit een PHP-fout:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // geeft '!' weer
?>
Herstel de fout die gemaakt is in de volgende code:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>