⊗ppPmRgSP 248 of 447 menu

Regular ifodalar orqali qidiruvda karmalar PHPda

Faraz qilaylik, bizda domenni o'z ichiga olgan qator mavjud:

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

Keling, ushbu domenni topamiz va uni qismlarga ajiratamiz: domen nomini uning zonalaridan ajratamiz. Buning uchun biz regular ifodalarning maxsus karmalardan foydalanamiz.

Karmalar massiv elementlari bo'lib, ularga regular tomonidan topilgan qismlarni qo'yish mumkin. Bizning holatda, birinchi karmaga domen nomini, ikkinchisiga esa uning zonasini qo'yishimiz mumkin.

Buni qilaylik. Boshlash uchun, satrdagi domenni topadigan regular yozamiz:

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

Keling, endi bizning regularimizda qaysi qismlar qaysi karmaga tushishini belgilab beraylik. Buni dumaloq qavslar yordamida amalga oshiramiz. Keling, ular yordamida domen nomini qidiradigan regular qismini va domen zonasini qidiradigan qismini ajratib ko'rsatamiz:

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

Endi preg_match funksiyasida uchinchi parametr sifatida o'zgaruvchini (istalgan nom) ko'rsatamiz:

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

Ko'rsatilgan o'zgaruvchiga topilgan karmalar bilan massiv tushadi. Bunda, massivning nolinchi elementida topilgan qator, birinchi elementida - birinchi karman, ikkinchi elementida - ikkinchi karman va hokazo bo'ladi:

<?php preg_match($reg, $str, $res); var_dump($res); // chiqaradi ['site.ru', 'site', 'ru'] ?>

Sana bilan qator berilgan:

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

Yil, oy va kunni alohida karmalarga qo'ying.

Fayl nomi bilan qator berilgan:

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

Fayl nomi va uning kengaytmasini alohida karmalarga qo'ying.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish