Sprawdzanie całego ciągu za pomocą wyrażeń regularnych w PHP
Często preg_match jest używane do
sprawdzania, czy cały ciąg znaków pasuje
do wyrażenia regularnego. W takim przypadku na początku wyrażenia
regularnego należy umieścić daszek ^, a na końcu
- znak dolara $. W ten sposób mówimy, że pod
wzorzec musi pasować cały ciąg.
Sprawdźmy dla przykładu, czy ciąg znaków
składa się w całości z liter 'a',
czy nie:
<?php
echo preg_match('#^a+$#', 'aaaa'); // wypisze 1
echo preg_match('#^a+$#', 'aaab'); // wypisze 0
?>
Określ, czy przekazany ciąg znaków jest domeną. Użyj do testów następujących ciągów:
<?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'; // -
?>
Określ, czy przekazany ciąg znaków jest adresem e-mail. Użyj do testów następujących ciągów:
<?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'; // -
?>