⊗ppPmRgESCh 226 of 447 menu

Speciālo rakstzīmju ekrānēšana PHP regulārajās izteiksmēs

Pieņemsim, ka mēs vēlamies, lai speciālā rakstzīme apzīmētu pati sevi. Lai to izdarītu, tā ir jāekrānē, izmantojot apgriezto slīpsvītru. Apskatīsim to ar piemēriem.

Piemērs

Nākamajā piemērā regulārās izteiksmes autors vēlējās, lai meklēšanas šablons izskatītos šādi: burtss 'a', tad plus zīme '+', tad burts 'x'. Tomēr, koda autors neekrānēja simbolu '+', un tāpēc meklēšanas šablons patiesībā izskatās šādi: burts 'a' viens vai vairāk reižu, tad burts 'x':

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'a+x ! ! !'

Piemērs

Bet šajā piemērā autors ir ekrānējis plus zīmi ar apgriezto slīpsvītru. Tagad meklēšanas šablons izskatās tieši tā, kā vajag: burts 'a', tad plus zīme '+', tad burts 'x'.

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! ax aax aaax'

Piemērs

Šajā piemērā šablons izskatās šādi: burts 'a', tad punkts '.', tad burts 'x':

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! abx azx'

Piemērs

Nākamajā piemērā autors aizmirsa ekrānēt slīpsvītru un ar regulāro izteiksmi tika iekļautas visas apakšvirknes, jo neekrānēts punkts apzīmē jebkuru simbolu:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! ! !'

Piemērs

Ievērojiet, ka, ja aizmirsīsiet apgriezto slīpsvītru punktam (kad tam vajadzētu apzīmēt pats sevi) - to var pat nepamanīt:

<?php preg_replace('#a.x#', '!', 'a.x'); // atgriezīs '!', kā mēs arī vēlējāmies ?>

Vizuāli darbojas pareizi (tā kā punkts apzīmē jebkuru simbolu, tostarp arī parastu punktu '.'). Bet, ja mainīsiet virkni, kurā tiek veiktas aizstāšanas - mēs redzēsim savu kļūdu:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // atgriezīs '! ! !', bet tika gaidīts '! abx azx' ?>
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