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