Introduksjon til regulære uttrykk i PHP
Regulære uttrykk er slags kommandoer for avansert søk og erstatning. De tillater deg å gjøre veldig interessante ting, men dessverre, er de ganske vanskelige å mestre.
Det finnes flere PHP-funksjoner for arbeid
med regulære uttrykk. Vi vil begynne å bli kjent
med dem ved å bruke eksemplet preg_replace. Denne
funksjonen tar først en parameter for hva som skal erstattes,
deretter en for hva det skal erstattes med, og en tredje parameter
- strengen der erstatningen skal skje:
<?php
preg_replace(hva som skal erstattes, med hva, streng);
?>
Samtidig tar funksjonen vår ikke bare en enkel streng som første parameter,
men et regulært uttrykk,
som representerer en streng med et sett av kommandoer,
plassert innenfor firkanttegn #.
Disse firkantene kalles avgrensere
for regulære uttrykk.
Etter avgrenserne kan man skrive modifikatorer - kommandoer som endrer de generelle egenskapene til det regulære uttrykket.
Selve de regulære uttrykkene består av to typer tegn: de som representerer seg selv, og tegn-kommandoer, som kalles spesialtegn.
Bokstaver og tall representerer seg selv. I det følgende
eksempelet vil vi ved hjelp av et regulært uttrykk
erstatte bokstaven 'a' med '!':
<?php
preg_replace('#a#', '!', 'bab'); // returnerer 'b!b'
?>
Men et punktum er et spesialtegn
og representerer hvilket som helst tegn. I det følgende
eksempelet vil vi finne en streng ved hjelp av dette mønsteret:
bokstaven 'x', deretter hvilket som helst tegn, deretter
igjen bokstaven 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // returnerer '! eee'
?>
Gitt en streng:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Skriv et regulært uttrykk som finner strengene
'ahb', 'acb', 'aeb'
ved mønster: bokstaven 'a', hvilket som helst tegn,
bokstaven 'b'.
Gitt en streng:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Skriv et regulært uttrykk som finner strengene
'aeeb', 'adcb', 'axeb'
ved mønster: bokstaven 'a', to hvilkensomhelst
tegn, bokstaven 'b'.