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