PHP-де регулярды іздестіру кезіндегі кармандар
Бізде домені бар қандай да бір жол бар делік:
<?php
$str = 'eee site.ru bbb';
?>
Осы доменді тауып, оны бөліктерге бөлейік: домен атын оның аймағынан бөліп көрейік. Бұл үшін біз регулярды өрнектердің арнайы кармандарын қолданамыз.
Кармандар - бұл регулярды өрнекпен табылғанның бөліктерін салуға болатын массив элементтері. Біздің жағдайда бірінші карманға домен атын, ал екінші карманға оның аймағын салуға болады.
Мұны істейік. Алдымен жолдағы доменді табатын регулярды өрнек жазайық:
<?php
$reg = '#[a-z0-9_-]+\.[a-z]{2,}#';
?>
Енді регулярды өрнекте қай бөліктердің қай карманға түсетінін белгілейік. Бұл дөңгелек жақшалар арқылы жасалады. Олардың көмегімен домен атын іздейтін бөлікті және домен аймағын іздейтін бөлікті бөліп көрейік:
<?php
$reg = '#([a-z0-9_-]+)\.([a-z]{2,})#';
?>
Енді preg_match функциясында үшінші параметр ретінде
айнымалыны көрсетейік (кез келген атау):
<?php
preg_match($reg, $str, $res);
?>
Көрсетілген айнымалыға табылған кармандары бар массив түседі. Сонымен бірге массивтің нөлдік элементінде табылған жол, бірінші элементінде бірінші карман, екінші элементінде екінші карман және т.с.с. болады:
<?php
preg_match($reg, $str, $res);
var_dump($res); // шығарады ['site.ru', 'site', 'ru']
?>
Датасы бар жол берілген:
<?php
$str = '2025-12-31';
?>
Жылды, айды және күнді жеке кармандарға салыңыз.
Файл аты бар жол берілген:
<?php
$str = 'index.html';
?>
Файл аты мен оның кеңейтуін жеке кармандарға салыңыз.