⊗ppPmRgRP 253 of 447 menu

Säälimat säännöllisten lausekkeiden korvauksissa PHP:ssä

Kun työskentelet funktion preg_replace kanssa, jos laitamme jotain säkkiin säännöllisessä lausekkeessa, voimme korvausmerkkijonossa lisätä tämän säkin sisällön kirjoittamalla dollarimerkin $ ja säkin numeron. Esimerkiksi, $0 - nollas säkki, $1 - ensimmäinen säkki, $2 - toinen säkki ja niin edelleen.

Mitä varten tätä tarvitaan ja kuinka sitä käytetään, katsotaan esimerkkien avulla.

Esimerkki

Etsitään kaikki numerot ja korvataan ne samalla numerolla, mutta aaltosulkeissa. Tätä varten kaikki löydetyt numerot korvataan itsellään, mutta aaltosulkeissa:

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

Tuloksena muuttujaan kirjoitetaan seuraava:

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

Esimerkki

Etsitään kaikki merkkijonot, jotka edustavat numeroita x-merkeillä ympäröitynä ja korvataan nämä numeroit samalla, mutta '!' -merkeillä ympäröitynä:

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

Tuloksena muuttujaan kirjoitetaan seuraava:

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

Esimerkki

Ratkaistaan seuraava tehtävä: annettu merkkijonoja muodossa 'aaa@bbb' - kirjaimia, sitten @-merkki, sitten kirjaimia. Kirjaimet ennen '@' -merkkiä ja jälkeen tulee vaihtaa paikkoja. Toteutetaan:

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

Tuloksena muuttujaan kirjoitetaan seuraava:

'bbb@aaa ddd@ccc'

Käytännön tehtävät

Annettu merkkijono:

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

Vaihda numeroiden paikkoja kaikissa kaksinumeroisissa luvuissa.

Annettu merkkijono päivämäärällä:

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

Muunna tämä päivämäärä muotoon '2025.12.31'.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää