⊗ppPmRgVA 258 of 447 menu

Forudgående søgning i PHP regulære udtryk

Sommetider skal man løse en opgave af denne type: find strengen 'aaa' og erstat den med '!', men kun hvis der efter 'aaa' står 'x', mens 'x' selv ikke skal erstattes. Hvis vi forsøger at løse opgaven 'direkte', vil det ikke lykkes:

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

For at løse opgaven er der brug for en måde at sige, at 'x' ikke skal erstattes. Dette gøres ved hjælp af specielle parenteser (?= ), der kun kigger, men ikke tager med.

Disse parenteser kaldes positiv forudgående søgning forud. Positiv - fordi 'x' (i vores tilfælde) skal være der - kun så vil erstatningen finde sted.

Lad os anvende disse parenteser til at løse vores opgave:

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

Der findes også negativ forudgående søgning forud - (?! ) - den siger, omvendt, at der skal mangle noget. I det næste eksempel sker erstatningen kun, hvis der ikke står 'x' efter 'aaa':

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

Der gives en streng, der indeholder funktionsnavne:

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

Få et array med funktionsnavne fra strengen.

Der gives en streng med et tag:

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

Få et array med attributnavne for dette tag.

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