⊗ppPmRgRP 253 of 447 menu

Кармани при замени преко регуларних израза у PHP-у

При раду са функцијом preg_replace, ако нешто ставимо у карман у регуларном изразу, онда у низу за замену можемо уметнути садржај тог кармана писањем знака долара $ и броја кармана. На пример, $0 - нулти карман, $1 - први карман, $2 - други карман и тако даље.

Зашто је то потребно и како се тим користи, хајде да погледамо на примерима.

Пример

Хајде да нађемо све бројеве и уместо њих убацимо исте те бројеве, али у витичастим заградама. За ово све нађене бројеве ћемо заменити на њих саме, али у витичастим заградама:

<?php $str = '1 23 456 xax'; $res = preg_replace('#(\d+)#', '{$1}', $str); ?>

Као резултат у променљиву ће бити уписано следеће:

'{1} {23} {456} xax'

Пример

Хајде да нађемо све низове који представљају бројеве са 'x'-евима око њих и заменимо те бројеве њима самима, али са '!' знацима око:

<?php $str = 'x1x x23x x456x xax'; $res = preg_replace('#x(\d+)x#', '!$1!', $str); ?>

Као резултат у променљиву ће бити уписано следеће:

'!1! !23! !456! xax'

Пример

Хајде да решимо следећи задатак: дати су низови облика 'aaa@bbb' - слова, па мајмунче, па слова. Потребно је заменити места словама пре '@' и после. Имплементирајмо:

<?php $str = 'aaa@bbb ccc@ddd'; $res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str); ?>

Као резултат у променљиву ће бити уписано следеће:

'bbb@aaa ddd@ccc'

Практични задаци

Дат је низ:

<?php $str = '12 34 56 78'; ?>

Замените места цифрама у свим двоцифреним бројевима.

Дат је низ са датумом:

<?php $str = '31.12.2025'; ?>

Трансформишите овај датум у '2025.12.31'.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј