Թաղանթներ 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';
?>
Ֆայլի անունը և դրա ընդլայնումը դրեք առանձին թաղանթների մեջ: