⊗ppPmRgRP 253 of 447 menu

Grupuri de captură în înlocuirea cu expresii regulate în PHP

Când lucrăm cu funcția preg_replace, dacă plasăm ceva într-un grup de captură în expresia regulată, atunci în șirul de înlocuire putem insera conținutul acestui grup de captură scriind semnul dolar $ și numărul grupului. De exemplu, $0 - grupul zero, $1 - primul grup, $2 - al doilea grup și așa mai departe.

De ce este nevoie de aceasta și cum să o folosim, să vedem cu exemple.

Exemplul

Să găsim toate numerele și în locul lor să inserăm aceleași numere, dar între acolade. Pentru aceasta toate numerele găsite le vom înlocui cu ele însele, dar între acolade:

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

Ca rezultat, în variabilă se va scrie următorul:

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

Exemplul

Să găsim toate șirurile care reprezintă numere înconjurate de 'x' și să înlocuim aceste numere cu ele însele, dar înconjurate de semne '!':

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

Ca rezultat, în variabilă se va scrie următorul:

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

Exemplul

Să rezolvăm următoarea problemă: sunt date șiruri de forma 'aaa@bbb' - litere, apoi caracterul '@', apoi litere. Trebuie să schimbăm locurile literelor de dinainte de '@' cu cele de după. Să implementăm:

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

Ca rezultat, în variabilă se va scrie următorul:

'bbb@aaa ddd@ccc'

Probleme practice

Este dat șirul:

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

Schimbați locurile cifrelor în toate numerele din două cifre.

Este dat șirul cu o dată:

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

Transformați această dată în '2025.12.31'.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge