Xhepat në kërkim përmes regex në PHP
Le të themi se kemi një varg që përmban një domain:
<?php
$str = 'eee site.ru bbb';
?>
Le ta gjejmë këtë domain dhe ta ndajmë atë në pjesë: të ndajmë emrin e domain-it nga zona e tij. Për këtë do të përdorim xhepa të posaçëm të shprehjeve të rregullta.
Xhepat përfaqësojnë elementë të vargjeve, në të cilët mund të vendosen pjesë të gjetura nga regex. Në rastin tonë, në xhepin e parë mund të vendosim emrin e domain-it, dhe në të dytin - zonën e tij.
Le ta bëjmë këtë. Së pari le të shkruajmë një regex, që gjen domain-in në varg:
<?php
$reg = '#[a-z0-9_-]+\.[a-z]{2,}#';
?>
Tani le të shënojmë në regex-in tonë, cilat pjesë duhet të bien në cilin xhep. Kjo bëhet duke përdorur kllapa të rrumbullakëta. Le të theksojmë me to pjesën e regex-it që kërkon emrin e domain-it, dhe atë pjesë që kërkon zonën e domain-it:
<?php
$reg = '#([a-z0-9_-]+)\.([a-z]{2,})#';
?>
Tani në funksionin preg_match si
parametër të tretë le të tregojmë një ndryshore (çdo emër):
<?php
preg_match($reg, $str, $res);
?>
Në ndryshoren e treguar do të vendoset një varg me xhepat e gjetur. Në këtë rast, në elementin zero të vargut do të jetë vargu i gjetur, në elementin e parë - xhepi i parë, në elementin e dytë - xhepi i dytë e kështu me radhë:
<?php
preg_match($reg, $str, $res);
var_dump($res); // do të shfaq ['site.ru', 'site', 'ru']
?>
Është dhënë një varg me një datë:
<?php
$str = '2025-12-31';
?>
Vendosni vitin, muajin dhe ditën në xhepa të veçantë.
Është dhënë një varg me emrin e një skede:
<?php
$str = 'index.html';
?>
Vendosni emrin e skedës dhe zgjatjen e tij në xhepa të veçantë.