⊗ppPmRgVA 258 of 447 menu

Priekšskatīšanās regulārajās izteiksmēs PHP

Dažreiz ir jāatrisina šāda veida uzdevums: atrast virkni 'aaa' un aizstāt to ar '!', bet tikai tad, ja aiz 'aaa' atrodas 'x', bet pašu 'x' tajā pašā laikā neaizstāj. Ja mēs mēģināsim atrisināt uzdevumu 'uz priekšu', mums nekas neizdosies:

<?php preg_replace('#aaax#', '!', 'aaax'); // būs '!', bet vajag '!x' ?>

Lai atrisinātu uzdevumu, ir nepieciešams veids, kā pateikt, ka 'x' nevajadzētu aizstāt. Tas tiek darīts ar speciālo iekavu (?= ) palīdzību, kuras tikai skatās, bet nepaņem līdzi.

Šīs iekavas sauc par pozitīvo priekšskatīšanos uz priekšu. Pozitīvs - jo 'x' (mūsu gadījumā) ir jābūt - tikai tad notiks aizstāšana.

Pielietosim šīs iekavas, lai atrisinātu mūsu uzdevumu:

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

Pastāv arī negatīvā priekšskatīšanās uz priekšu - (?! ) - tā, gluži pretēji, saka, ka kaut kam nevajadzētu būt. Nākamajā piemērā aizstāšana notiks tikai tad, ja aiz 'aaa' neatrodas 'x':

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

Dota virkne, kas satur funkciju nosaukumus:

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

Iegūstiet funkciju nosaukumu masīvu no virknes.

Dota virkne ar tagu:

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

Iegūstiet šī taga atribūtu nosaukumu masīvu.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt