Stringi kontrollimine regulaaravaldise abil PHP-s
Otsimise ja asendamise võimalused regulaaravaldistes pole
kaugeltki ammendatud. Samuti on olemas funktsioon preg_match,
mis kontrollib, kas stringis on regulaaravaldisega
vastet. Funktsioon võtab esimese parameetrina
regulaaravaldise ja teise parameetrina - otsitava
stringi.
Sel juhul, kui vasteteid on palju, -
leiab funktsioon ainult esimese ja lõpetab oma
töö. Seetõttu väljastab funktsioon kas 1
või 0 ja seda kasutatakse vastuseks
küsimusele 'kas otsitav on stringis või mitte'.
Tagastab ühe - tähendab, et on (aga mitu korda
- pole selge), tagastab null - tähendab, et ei ole.
Vaatame näidetel. Kontrollime,
kas stringis on alamstring, mis koosneb
tähtedest 'a', korratud üks või mitu korda:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // väljastab 1
?>
Nüüd aga meie stringis pole otsitavat, ja funktsioon
väljastab 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // väljastab 0
?>
Määrake, kas stringis on 3 numbrit
järjest.
Määrake, kas edastatud string algab
http-ga.
Määrake, kas edastatud string algab
http või https-ga.
Määrake, kas edastatud string lõpeb
laiendiga txt, html või php.
Määrake, kas edastatud string lõpeb
laiendiga jpg või jpeg.