⊗ppPmRgRP 253 of 447 menu

Kabatas aizstāšanā ar regulārajām izteiksmēm PHP

Strādājot ar funkciju preg_replace, ja mēs kaut ko ievietojam kabatā regulārajā izteiksmē, tad aizstāšanas virknē mēs varam ievietot šīs kabatas saturu, ierakstot dolāra zīmi $ un kabatas numuru. Piemēram, $0 - nulles kabata, $1 - pirmā kabata, $2 - otrā kabata un tā tālāk.

Kāpēc tas ir vajadzīgs un kā to lietot, apskatīsim ar piemēriem.

Piemērs

Atradīsim visus skaitļus un to vietā ievietosim tos pašus skaitļus, bet cirtainajās iekavās. Lai to izdarītu, visus atrastos skaitļus mēs aizstāsim ar pašiem sevi, bet cirtainajās iekavās:

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

Rezultātā mainīgajā tiks ierakstīts sekojošais:

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

Piemērs

Atradīsim visas virknes, kas pārstāv skaitļus ar x apkārt un aizstāsim šos skaitļus ar pašiem sevi, bet ar '!' zīmēm apkārt:

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

Rezultātā mainīgajā tiks ierakstīts sekojošais:

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

Piemērs

Atrisināsim sekojošu uzdevumu: dotas virknes veida 'aaa@bbb' - burti, tad @ zīme, tad burti. Jāsamaina vietām burti pirms '@' un pēc. Realizēsim:

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

Rezultātā mainīgajā tiks ierakstīts sekojošais:

'bbb@aaa ddd@ccc'

Praktiskie uzdevumi

Dota virkne:

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

Samainiet vietām ciparus visos divciparu skaitļos.

Dota virkne ar datumu:

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

Pārveidojiet šo datumu formātā '2025.12.31'.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt