⊗ppPmRgVA 258 of 447 menu

Forutsikt i regulære uttrykk i PHP

Noen ganger må man løse en oppgave av denne typen: finn strengen 'aaa' og erstatt den med '!', men bare hvis det etter 'aaa' kommer 'x', mens 'x' i seg selv ikke skal erstattes. Hvis vi prøver å løse oppgaven 'direkte', vil det ikke lykkes:

<?php preg_replace('#aaax#', '!', 'aaax'); // blir '!', men skal være '!x' ?>

For å løse oppgaven trengs en måte å si at 'x' ikke skal erstattes. Dette gjøres ved hjelp av spesielle parenteser (?= ), som bare ser, men ikke tar med seg.

Disse parentesene kalles positiv forutsikt fremover. Positiv - fordi 'x' (i vårt tilfelle) må være til stede - bare da vil erstatningen skje.

La oss bruke disse parentesene for å løse vår oppgave:

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

Det finnes også negativ forutsikt fremover - (?! ) - den sier, tvert imot, at noe ikke skal være til stede. I det følgende eksempelet vil erstatning skje bare hvis det ikke kommer 'x' etter 'aaa':

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

Det er gitt en streng som inneholder funksjonsnavn:

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

Få en matrise med funksjonsnavn fra strengen.

Det er gitt en streng med en tagg:

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

Få en matrise med attributtnavn for denne taggen.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis