АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗ppPmRgInr 223 of 447 menu

Увод у рэгулярныя выразы ў PHP

Рэгулярныя выразы - гэта такія каманды для складанага пошуку і замены. Яны дазваляюць рабіць вельмі цікавыя рэчы, але, на жаль, даволі цяжкія ў асваенні.

Існуе некалькі функцый PHP для работы з рэгулярнымі выразамі. Мы пачнем знаёміцца з імі на прыкладзе preg_replace. Гэтая функцыя першым параметрам прымае што мяняць, а другім - на што мяняць, а трэцім параметрам - радок, у якім трэба заменяць:

<?php preg_replace(што мяняць, на што, радок); ?>

Пры гэтым першым параметрам наша функцыя прымае не проста радок, а рэгулярны выраз, які прадстаўляе сабой радок з наборам каманд, размешчаных унутры сімвалаў рэшэткі #. Гэтыя рэшэткі называюцца абмежавальнікамі рэгулярных выразаў.

Пасля абмежавальнікаў можна пісаць мадыфікатары - каманды, якія змяняюць агульныя ўласцівасці рэгулярнага выразу.

Самі рэгулярныя выразы складаюцца з двух тыпаў сімвалаў: з тых, якія абазначаюць саміх сябе і з сімвалаў-каманд, якія называюцца спецыяльныя сімвалы.

Літары і лічбы абазначаюць саміх сябе. У наступным прыкладзе мы з дапамогай рэгулярнага выразу заменім літару 'a' на '!':

<?php preg_replace('#a#', '!', 'bab'); // верне 'b!b' ?>

А вось кропка з'яўляецца спецыяльным сімвалам і абазначае любы сімвал. У наступным прыкладзе мы знойдзем радок па такім шаблоне: літара 'x', затым любы сімвал, затым зноў літара 'x':

<?php preg_replace('#x.x#', '!', 'xax eee'); // верне '! eee' ?>

Дадзены радок:

<?php $str = 'ahb acb aeb aeeb adcb axeb'; ?>

Напішыце рэгулярку, якая знойдзе радкі 'ahb', 'acb', 'aeb' па шаблоне: літара 'a', любы сімвал, літара 'b'.

Дадзены радок:

<?php $str = 'ahb acb aeb aeeb adcb axeb'; ?>

Напішыце рэгулярку, якая знойдзе радкі 'aeeb', 'adcb', 'axeb' па шаблоне: літара 'a', два любых сімвалы, літара 'b'.

byenru