Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗ppPmRgLE 243 of 447 menu

Экраніроўка абмежавальнікаў у 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'); ?>
byenru