⊗ppPmRgSP 248 of 447 menu

Zachytávání skupin při vyhledávání pomocí regulárních výrazů v PHP

Předpokládejme, že máme řetězec obsahující doménu:

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

Pojďme tuto doménu najít a rozdělit ji na části: oddělíme název domény od její zóny. K tomu použijeme speciální zachytávací skupiny regulárních výrazů.

Zachytávací skupiny představují prvky pole, do kterých lze uložit části textu nalezeného regulárním výrazem. V našem případě můžeme do první skupiny uložit název domény a do druhé - její zónu.

Pojďme to udělat. Nejprve napíšeme regulární výraz, který najde doménu v řetězci:

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

Nyní v našem regulárním výrazu označme, které části mají být zachyceny do kterých skupin. To se provádí pomocí kulatých závorek. Pojďme jimi oddělit část regulárního výrazu, která hledá název domény, a tu část, která hledá doménovou zónu:

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

Nyní ve funkci preg_match jako třetí parametr uvedeme proměnnou (libovolného názvu):

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

Do zadané proměnné bude uloženo pole s nalezenými skupinami. Přitom v nultém prvku pole bude ležet nalezený řetězec, v prvním prvku - první zachytávací skupina, ve druhém prvku - druhá zachytávací skupina a tak dále:

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

Daný řetězec s datem:

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

Uložte rok, měsíc a den do samostatných zachytávacích skupin.

Daný řetězec s názvem souboru:

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

Uložte název souboru a jeho příponu do samostatných zachytávacích skupin.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout