Kišenės ieškant reguliariaisiais išraiškomis PHP
Tarkime, kad turime tam tikrą eilutę, kurioje yra domenas:
<?php
$str = 'eee site.ru bbb';
?>
Suraskime šį domeną ir suskirstykime jį į dalis: atskirkime domeno vardą nuo jo zonos. Tam naudosime specialias kišenes reguliųjų išraiškų.
Kišenės yra masyvo elementai, į kuriuos galima sudėti reguliaria išraiška rastas dalis. Mūsų atveju į pirmąją kišenę galime sudėti domeno vardą, o į antrąją - jo zoną.
Padarykime tai. Pirmiausia parašykime reguliariąją išraišką, kuri suranda domeną eilutėje:
<?php
$reg = '#[a-z0-9_-]+\.[a-z]{2,}#';
?>
Dabar mūsų reguliariojoje išraiškoje pažymėkime, kurios dalys į kurią kišenę turi patekti. Tai daroma naudojant paprastus skliaustus. Pažymėkime jais reguliariosios išraiškos dalį, kuri ieško domeno vardo, ir tą dalį, kuri ieško domeno zonos:
<?php
$reg = '#([a-z0-9_-]+)\.([a-z]{2,})#';
?>
Dabar funkcijoje preg_match kaip
treciąjį parametrą nurodykime kintamąjį (bet kokį pavadinimą):
<?php
preg_match($reg, $str, $res);
?>
Į nurodytą kintamąjį pateks masyvas su rastomis kišenėmis. Tuo pačiu metu nulinis masyvo elementas bus rasta eilutė, pirmasis elementas - pirmoji kišenė, antrajame elemente - antroji kišenė ir taip toliau:
<?php
preg_match($reg, $str, $res);
var_dump($res); // išves ['site.ru', 'site', 'ru']
?>
Duota eilutė su data:
<?php
$str = '2025-12-31';
?>
Įdėkite metus, mėnesį ir dieną į atskiras kišenes.
Duota eilutė su failo pavadinimu:
<?php
$str = 'index.html';
?>
Įdėkite failo pavadinimą ir jo plėtinį į atskiras kišenes.