Escaping av skilletegn i PHP
Hvis et tegn ikke er spesielt, må du escape det i selve det regulære uttrykket når du bruker det som skilletegn. La oss se på et eksempel.
La oss si at bruker firkanttaster som skilletegn, og inni det regulære uttrykket leter vi etter ampersand-tegnet. Siden ampersand ikke er et spesialtegn, trenger vi ikke å escape det:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // skriver ut '!'
?>
La oss nå si at skilletegnene er ampersander og inni det regulære uttrykket trenger vi også en ampersand. I så fall må ampersanden inni escapes, ellers vil det forårsake en PHP-feil:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // skriver ut '!'
?>
Korriger feilen som er gjort i følgende kode:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>