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');
?>