⊗ppPmRgRP 253 of 447 menu

Žepi pri zamenjavi z regularnimi izrazi v PHP-ju

Pri delu s funkcijo preg_replace, če kaj damo v žep v regularnem izrazu, lahko v nizu za zamenjavo vstavimo vsebino tega žepa tako, da napišemo znak dolarja $ in številko žepa. Na primer, $0 - ničti žep, $1 - prvi žep, $2 - drugi žep in tako naprej.

Zakaj je to potrebno in kako se tega uporablja, poglejmo na primerih.

Primer

Poiščimo vse številke in namesto njih vstavimo iste številke, vendar v zavitih oklepajih. Za to bomo vse najdene številke zamenjali z nimi samimi, vendar v zavitih oklepajih:

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

Kot rezultat se bo v spremenljivko zapisalo naslednje:

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

Primer

Poiščimo vse nize, ki predstavljajo številke z iksi okoli in zamenjajmo te številke z njimi samimi, vendar z '!' znaki okoli:

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

Kot rezultat se bo v spremenljivko zapisalo naslednje:

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

Primer

Rešimo naslednjo nalogo: dani so nizi oblike 'aaa@bbb' - črke, nato znak @, nato črke. Zamenjati je treba mesta črk pred '@' in za njim. Implementirajmo:

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

Kot rezultat se bo v spremenljivko zapisalo naslednje:

'bbb@aaa ddd@ccc'

Praktične naloge

Dan je niz:

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

Zamenjajte mesta števk v vseh dvomestnih številkah.

Dan je niz z datumom:

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

Pretvorite ta datum v '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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni