Regulaaravaldisega terve rea kontrollimine PHP-s
Sageli kasutatakse preg_match
kogu rea kontrollimiseks regulaaravaldisega
vastavuse suhtes. Sellisel juhul tuleks regulaaravaldise
algusesse pista katusmärk ^ ja lõppu
dollarimärk $. Sellega ütleme, et
mustrile peab vastama kogu rida.
Võtame näiteks teada, kas rida koosneb
täielikult tähtedest 'a'
või mitte:
<?php
echo preg_match('#^a+$#', 'aaaa'); // väljastab 1
echo preg_match('#^a+$#', 'aaab'); // väljastab 0
?>
Määrake, kas edastatud rida on domeen. Kasutage testimiseks järgmisi ridu:
<?php
$arr[] = 'site.ru'; // +
$arr[] = 'site.com'; // +
$arr[] = 'my-site.com'; // +
$arr[] = 'my-cool-site.com'; // +
$arr[] = 'my_site.com'; // +
$arr[] = 'site123.com'; // +
$arr[] = 'site.travel'; // +
$arr[] = 'si$te.com'; // -
$arr[] = 'site.r'; // -
?>
Määrake, kas edastatud rida on e-posti aadress. Kasutage testimiseks järgmisi ridu:
<?php
$arr[] = 'addr@mail.ru'; // +
$arr[] = 'addr123@mail.ru'; // +
$arr[] = 'my-addr@mail.ru'; // +
$arr[] = 'my_addr@mail.ru'; // +
$arr[] = 'addr@site.ru'; // +
$arr[] = 'addr.ru'; // -
$arr[] = 'addr@.ru'; // -
$arr[] = 'my@addr@mail.ru'; // -
?>