⊗ppPmRgESCh 226 of 447 menu

PHP-də RegEx ifadələrində xüsusi simvolların ekranlanması

Tutaq ki, biz istəyirik ki, xüsusi simvol özünü ifadə etsin. Bunun üçün onu əks slash ilə ekranlamaq lazımdır. Gəlin nümunələrlə baxaq.

Nümunə

Aşağıdakı nümunədə regulyar ifadənin müəllifi istəyirdi ki, axtarış şablonu belə görünsün: hərf 'a', sonra plus '+', sonra hərf 'x'. Lakin, kodun müəllifi '+' simvolunu ekranlamayıb və buna görə də axtarış şablonu əslində belədir: 'a' hərfi bir və ya daha çox dəfə, sonra 'x' hərfi:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

'a+x ! ! !'

Nümunə

İndi isə müəllif plusu əks slash ilə ekranlayıb. İndi axtarış şablonu lazım olduğu kimi görünür: 'a' hərfi, sonra plus '+', sonra 'x' hərfi.

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ax aax aaax'

Nümunə

Bu nümunədə şablon belədir: 'a' hərfi, sonra nöqtə '.', sonra 'x' hərfi:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! abx azx'

Nümunə

Aşağıdakı nümunədə isə müəllif nöqtəni ekranlamağı unudub və regulyar ifadə bütün alt sətirlərə uyğun gəldi, çünki ekranlanmamış nöqtə istənilən simvolu ifadə edir:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! !'

Nümunə

Diqqət edin ki, əgər siz nöqtə üçün əks slashi unutsanız (o, özünü ifadə etməlidir) - bunu heç hiss etməyə bilərsiniz:

<?php preg_replace('#a.x#', '!', 'a.x'); // '!' qaytaracaq, istədiyimiz kimi ?>

Vizual olaraq düzgün işləyir (çünki nöqtə istənilən simvolu, o cümlədən adi nöqtəni də '.' ifadə edir). Lakin əgər əvəz olunan sətri dəyişsək - biz səhvimizi görəcəyik:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // '! ! !' qaytaracaq, gözlənilirdi ki, '! abx azx' olsun ?>
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et