Žepi pri iskanju z regularnimi izrazi v PHP-ju

Recimo, da imamo nek niz, ki vsebuje domeno:

php<?php
  $str = 'eee site.ru bbb';
?>

Poiščimo to domeno in jo razdelimo na dele: ločimo ime domene od njenega končnega dela (cone). Za to bomo uporabili posebne žep regularnih izrazov.

Žepi predstavljajo elemente polja, v katere lahko shranimo dele najdenega z regularnim izrazom. V našem primeru lahko v prvi žep shranimo ime domene, v drugega pa njeno cono.

Naredimo to. Najprej napišimo regularni izraz, ki najde domeno v nizu:

php<?php
  $reg = '#[a-z0-9_-]+\.[a-z]{2,}#';
?>

Zdaj pa v našem regularnem izrazu označimo, katri deli naj gredo v katerega žepa. To naredimo z okroglimi oklepaji. Označimo z njimi del regularnega izraza, ki išče ime domene, in del, ki išče domensko cono:

php<?php
  $reg = '#([a-z0-9_-]+)\.([a-z]{2,})#';
?>

Zdaj v funkciji preg_match kot tretji parameter navedemo spremenljivko (poljubno ime):

php<?php
  preg_match($reg, $str, $res);
?>

V navedeno spremenljivko bo shranjeno polje z najdenimi žepi. Pri tem bo v ničtem elementu polja našel niz, v prvem elementu - prvi žep, v drugem elementu - drugi žep in tako naprej:

php<?php
  preg_match($reg, $str, $res);
  var_dump($res); // izpiše ['site.ru', 'site', 'ru']
?>
Задание 1

Dan je niz z datumom:

php<?php
  $str = '2025-12-31';
?>

Shranite leto, mesec in dan v ločene žepe.

Задание 2

Dan je niz z imenom datoteke:

php<?php
  $str = 'index.html';
?>

Shranite ime datoteke in njeno končnico v ločene žepe.