⊗ppPmRgESCh 226 of 447 menu

PHP regulaaravaldistes erisümbolite ekraanimine

Oletame, et tahame, et erisümbol tähendaks iseennast. Selleks tuleb see ekraanida kurakaldkriipsuga (backslash). Vaatame näidete varal.

Näide

Järgmises näites soovis regulaaravaldise autor, et otsimustempl näeks välja selline: täht 'a', seejärel pluss '+', seejärel täht 'x'. Siiski ei ekraaninud koodi autor sümbolit '+' ja seetõttu on otsimustempl tegelikult selline: täht 'a' üks või mitu korda, siis täht 'x':

<?php $str = 'a+x ax aax aaax'; $res = preg_replace('#a+x#', '!', $str); ?>

Tulemusena kirjutatakse muutujasse järgmine:

'a+x ! ! !'

Näide

Nüüd on autor ekraaninud plussmärgi kurakaldkriipsuga. Nüüd näeb otsimustempl välja nagu vaja: täht 'a', seejärel pluss '+', seejärel täht 'x'.

<?php $str = 'a+x ax aax aaax'; $res = preg_replace('#a\+x#', '!', $str); ?>

Tulemusena kirjutatakse muutujasse järgmine:

'! ax aax aaax'

Näide

Selles näites on templiks: täht 'a', seejärel punkt '.', seejärel täht 'x':

<?php $str = 'a.x abx azx'; $res = preg_replace('#a\.x#', '!', $str); ?>

Tulemusena kirjutatakse muutujasse järgmine:

'! abx azx'

Näide

Järgmises näites unustas autor ekraanida kaldkriipsu ja regulaaravaldisele vastasid kõik alamjadad, kuna ekraanimata punkt tähendab suvalist sümbolit:

<?php $str = 'a.x abx azx'; $res = preg_replace('#a.x#', '!', $str); ?>

Tulemusena kirjutatakse muutujasse järgmine:

'! ! !'

Näide

Pange tähele, et kui unustate punkti jaoks kurakaldkriipsu (kui see peaks tähendama iseennast) - võib seda isegi ei märgata:

<?php preg_replace('#a.x#', '!', 'a.x'); // tagastab '!', nagu me soovisimegi ?>

Visuaalselt töötab õigesti (kuna punkt tähendab suvalist sümbolit, sealhulgas ka tavalist punkti '.'). Kuid kui muuta jada, milles asendused toimuvad - näeme oma viga:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // tagastab '! ! !', kuid oodati '! abx azx' ?>
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu