⊗ppPmRgVA 258 of 447 menu

Priešingo žvilgsnio reguliariosios išraiškos PHP

Kartais reikia išspręsti tokio tipo uždavinį: rasti eilutę 'aaa' ir pakeisti ją į '!', bet tik jei po 'aaa' yra 'x', o pats 'x' tuo pačiu nepakeisti. Jei bandysime išspręsti uždavinį 'tiesiogiai', mums nepavyks:

<?php preg_replace('#aaax#', '!', 'aaax'); // bus '!', o turi būti '!x' ?>

Uždaviniui išspręsti reikia būdo pasakyti, kad 'x' neturėtų būti pakeistas. Tai daroma naudojant specialiuosius skliaustus (?= ), kurie tik žiūri, bet nepasigamina.

Šie skliaustai vadinami teigiamu priešingu žvilgsniu forward. Teigiamas - kadangi 'x' (mūsų atveju) turi būti - tik tada įvyks pakeitimas.

Panaudokime šiuos skliaustus mūsų uždaviniui išspręsti:

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // grąžins '!x' ?>

Yra ir neigiamas priešingas žvilgsnis forward - (?! ) - jis, atvirkščiai, sako, kad kažko turi nebūti. Šiame pavyzdyje pakeitimas įvyks, tik jei po 'aaa' nėra 'x':

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // grąžins '!b' ?>

Duota eilutė, kurioje yra funkcijų pavadinimai:

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

Gaukite funkcijų pavadinimų masyvą iš eilutės.

Duota eilutė su tagu:

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

Gaukite šio tago atributų pavadinimų masyvą.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti