⊗ppPmRgESCh 226 of 447 menu

PHP Regular Ifodalarda Maxsus Belgilarni Ekranlash

Faraz qilaylik, biz maxsus belgining o‘zini anglatishini istaymiz. Buning uchun uni teskari chiziq (backslash) yordamida ekranlashimiz kerak. Keling, misollar orqali ko‘rib chiqaylik.

Misol

Quyidagi misolda regular ifoda muallifi qidiruv shabloni shunday ko‘rinishda bo‘lishini istagan: 'a' harfi, keyin '+' belgisi, keyin 'x' harfi. Biroq, kod muallifi '+' belgisini ekranlamaganligi sababli haqiqiy qidiruv shabloni shunday ko‘rinishga ega: 'a' harfi bir yoki bir necha marta, keyin 'x' harfi:

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

Natijada o‘zgaruvchiga quyidagi qiymat yoziladi:

'a+x ! ! !'

Misol

Endi esa muallif ortiqcha belgisini teskari chiziq bilan ekranladi. Endi qidiruv shabloni kerakli ko‘rinishga ega: 'a' harfi, keyin '+' belgisi, keyin 'x' harfi.

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

Natijada o‘zgaruvchiga quyidagi qiymat yoziladi:

'! ax aax aaax'

Misol

Ushbu misolda shablon quyidagicha: 'a' harfi, keyin nuqta '.', keyin 'x' harfi:

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

Natijada o‘zgaruvchiga quyidagi qiymat yoziladi:

'! abx azx'

Misol

Quyidagi misolda muallif nuqtani ekranlashni unutdi va regular ifoda barcha pastki qatorlarni qamrab oldi, chunki ekranlanmagan nuqta har qanday belgini anglatadi:

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

Natijada o‘zgaruvchiga quyidagi qiymat yoziladi:

'! ! !'

Misol

Diqqat qiling, agar siz nuqta (u o‘zini anglatishi kerak bo‘lganida) uchun teskari chiziqni unutsangiz - buni sezish ham qiyin bo‘lishi mumkin:

<?php preg_replace('#a.x#', '!', 'a.x'); // biz xohlagandek '!' ni qaytaradi ?>

Vizual jihatdan to‘g‘ri ishlaydi (chunki nuqta har qanday belgini, shu jumladan oddiy nuqta '.' ni ham anglatadi). Lekin agar almashtirishlar amalga oshiriladigan qatorni o‘zgartirsak - biz xatomizni ko‘ramiz:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // '! ! !' qaytaradi, kutayotgan edik '! abx azx' ?>
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish