⊗ppPmRgVA 258 of 447 menu

Framåtblickande i PHP reguljära uttryck

Ibland behöver man lösa en uppgift av denna typ: hitta strängen 'aaa' och ersätt den med '!', men bara om efter 'aaa' står 'x', och själva 'x' ska samtidigt inte ersättas. Om vi försöker lösa uppgiften 'direkt' kommer det inte att lyckas:

<?php preg_replace('#aaax#', '!', 'aaax'); // blir '!', men ska vara '!x' ?>

För att lösa uppgiften behövs ett sätt att säga, att 'x' inte ska ersättas. Detta görs med hjälp av speciella parenteser (?= ), vilka bara tittar, men inte tar med sig.

Dessa parenteser kallas positiv framåtblick . Positiv - eftersom 'x' (i vårt fall) måste finnas - bara då kommer ersättningen att ske.

Låt oss använda dessa parenteser för att lösa vår uppgift:

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

Det finns också negativ framåtblick - (?! ) - den säger, tvärtom, att något inte ska finnas. I följande exempel kommer ersättningen att ske, bara om efter 'aaa' inte står 'x':

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

Given är en sträng som innehåller funktionsnamn:

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

Få en array med funktionsnamn från strängen.

Given är en sträng med en tagg:

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

Få en array med namnen på attributen för denna tagg.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa