Introduktion til regulære udtryk i PHP
Regulære udtryk er kommandoer til avanceret søgning og erstatning. De giver mulighed for at gøre meget interessante ting, men er desværre ret svære at mestre.
Der er flere PHP-funktioner til arbejde
med regulære udtryk. Vi begynder at stifte bekendtskab
med dem ved hjælp af eksemplet preg_replace. Denne
funktion tager som første parameter hvad der skal erstattes,
som anden parameter - med hvad det skal erstattes, og som tredje parameter
- strengen, hvor erstatningen skal foretages:
<?php
preg_replace(hvad der skal erstattes, med hvad, streng);
?>
Her tager funktionen som første parameter
ikke blot en streng, men et regulært udtryk,
som er en streng med et sæt kommandoer,
placeret inde i hash-tegnene #.
Disse hash-tegn kaldes afgrænsere
for regulære udtryk.
Efter afgrænserne kan man skrive modifikatorer - kommandoer, der ændrer de generelle egenskaber for det regulære udtryk.
De regulære udtryk selv består af to typer af tegn: dem, der repræsenterer sig selv, og kommando-tegn, som kaldes specialtegn.
Bogstaver og tal repræsenterer sig selv. I det følgende
eksempel vil vi ved hjælp af et regulært udtryk
erstatte bogstavet 'a' med '!':
<?php
preg_replace('#a#', '!', 'bab'); // returnerer 'b!b'
?>
Men et punktum er et specialtegn
og repræsenterer ethvert tegn. I det følgende
eksempel finder vi en streng ved hjælp af dette mønster:
bogstavet 'x', derefter ethvert tegn, derefter
igen bogstavet 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // returnerer '! eee'
?>
Der gives en streng:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Skriv et regulært udtryk, der finder strengene
'ahb', 'acb', 'aeb'
efter mønsteret: bogstavet 'a', ethvert tegn,
bogstavet 'b'.
Der gives en streng:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Skriv et regulært udtryk, der finder strengene
'aeeb', 'adcb', 'axeb'
efter mønsteret: bogstavet 'a', to vilkårlige
tegn, bogstavet 'b'.