⊗ppPmRgVA 258 of 447 menu

Regulaaravaldiste eesvaade PHP-s

Mõnikord on vaja lahendada sellist tüüpi ülesannet: leida string 'aaa' ja asendada see '!'-ga, ainult siis, kui pärast 'aaa' on 'x', kuid 'x' ennast ei asendata. Kui püüame ülesannet lahendada 'otse', siis meil ei õnnestu:

<?php preg_replace('#aaax#', '!', 'aaax'); // saab '!', aga peaks olema '!x' ?>

Ülesande lahendamiseks on vaja võimalust öelda, et 'x' ei tohiks asendada. Seda tehakse spetsiaalsete sulgude (?= ) abil, mis lihtsalt vaatavad, kuid ei võta endaga kaasa.

Neid sulgusid nimetatakse positiivseks eesvaateks ettepoole. Positiivne - kuna 'x' (meie puhul) peab olema - alles siis toimub asendamine.

Rakendame neid sulgusid meie ülesande lahendamiseks:

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // tagastab '!x' ?>

On olemas ka negatiivne eesvaade ettepoole - (?! ) - see, vastupidi, ütleb, et midagi ei peaks olema. Järgmises näites toimub asendamine ainult siis, kui pärast 'aaa' ei ole 'x':

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // tagastab '!b' ?>

Antud string, mis sisaldab funktsioonide nimesid:

<?php $str = 'func1() func2() func3()'; ?>

Hankige stringist funktsioonide nimede massiiv.

Antud string siltiga:

<?php $str = '<a href="" class="eee" id="zzz">'; ?>

Hankige selle sildi atribuutide nimede massiiv.

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