⊗ppPmRgESCh 226 of 447 menu

Ontsnapping van spesiale karakters in PHP regulêre uitdrukkings

Veronderstel dat ons wil hê dat 'n spesiale karakter homself moet verteenwoordig. Om dit te doen moet dit ontsnap word met 'n agteroorskuinsstreep. Laat ons na voorbeelde kyk.

Voorbeeld

In die volgende voorbeeld wou die skrywer van die regulêre uitdrukking dat die soekpatroon so moes lyk: letter 'a', dan plus '+', dan letter 'x'. Die skrywer van die kode het egter nie die simbool '+' ontskap nie en daarom lyk die soekpatroon eintlik so: letter 'a' een of meer keer, dan letter 'x':

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

Gevolglik sal die volgende in die veranderlike weggeskryf word:

'a+x ! ! !'

Voorbeeld

Nou het die skrywer die plus met 'n agteroorskuinsstreep ontskap. Nou lyk die soekpatroon soos dit moet wees: letter 'a', dan plus '+', dan letter 'x'.

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

Gevolglik sal die volgende in die veranderlike weggeskryf word:

'! ax aax aaax'

Voorbeeld

In hierdie voorbeeld lyk die patroon so: letter 'a', dan punt '.', dan letter 'x':

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

Gevolglik sal die volgende in die veranderlike weggeskryf word:

'! abx azx'

Voorbeeld

In die volgende voorbeeld het die skrywer vergeet om die punt te ontskap en die regulêre uitdrukking het alle substrings getref, aangesien 'n nie-ontskapte punt enige karakter verteenwoordig:

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

Gevolglik sal die volgende in die veranderlike weggeskryf word:

'! ! !'

Voorbeeld

Let daarop dat as jy die agteroorskuinsstreep vir die punt vergeet (wanneer dit homself moet verteenwoordig) - kan 'n mens dit selfs nie raaksien nie:

<?php preg_replace('#a.x#', '!', 'a.x'); // sal '!' terugstuur, soos ons wou ?>

Visueel werk dit korrek (aangesien die punt enige karakter verteenwoordig, insluitend 'n gewone punt '.'). Maar as ons die string waarin die vervangings plaasvind verander - sal ons ons fout sien:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // sal '! ! !' terugstuur, terwyl '! abx azx' verwag is ?>
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp