⊗ppPmRgRP 253 of 447 menu

Záchytné skupiny pri nahradzovaní pomocou regulárnych výrazov v PHP

Pri práci s funkciou preg_replace, ak niečo umiestnime do zachytávacej skupiny v regulárnom výraze, tak v reťazci pre nahradenie môžeme vložiť obsah tejto skupiny napísaním znaku dolára $ a čísla skupiny. Napríklad, $0 - nultá skupina, $1 - prvá skupina, $2 - druhá skupina a tak ďalej.

Načo je to potrebné a ako to použiť, pozrime sa na príkladoch.

Príklad

Nájdime všetky čísla a namiesto nich vložme tieto isté čísla, ale v zložených zátvorkách. Pre tento účel všetky nájdené čísla budeme nahradzovať ich samotnými, ale v zložených zátvorkách:

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

Výsledkom zapísaným do premennej bude:

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

Príklad

Nájdime všetky reťazce, ktoré predstavujú čísla s 'x' okolo a nahraďme tieto čísla ich samotnými, ale s '!' znakmi okolo:

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

Výsledkom zapísaným do premennej bude:

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

Príklad

Poďme vyriešiť nasledujúcu úlohu: dané sú reťazce tvaru 'aaa@bbb' - písmená, potom zavináč, potom písmená. Je potrebné vymeniť miesta písmenám pred '@' a po. Realizujme to:

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

Výsledkom zapísaným do premennej bude:

'bbb@aaa ddd@ccc'

Praktické úlohy

Daný reťazec:

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

Vymeňte miesta čísliciam vo všetkých dvojciferných číslach.

Daný reťazec s dátumom:

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

Preveďte tento dátum na '2025.12.31'.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť