ჯიბეები რეგულარული გამონათქვამების საშუალებით ძიებისას 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';
?>
ჩადეთ ფაილის სახელი და მისი გაფართოება ცალკეულ ჯიბეებში.