⊗ppPmRgSP 248 of 447 menu

Zakken bij zoeken met regex in PHP

Stel we hebben een string die een domein bevat:

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

Laten we dit domein vinden en het opdelen in delen: laten we de domeinnaam scheiden van de zone. Hiervoor gebruiken we speciale zakken van reguliere expressies.

Zakken zijn elementen van een array waarin delen van de gevonden regex kunnen worden geplaatst. In ons geval kunnen we in de eerste zak de domeinnaam plaatsen, en in de tweede - de zone.

Laten we dit doen. Laten we eerst een regex schrijven die het domein in de string vindt:

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

Laten we nu in onze regex aangeven welke delen in welke zak moeten terechtkomen. Dit gebeurt met ronde haakjes. Laten we daarmee het deel van de regex dat de domeinnaam zoekt, en het deel dat de domeinzone zoekt, markeren:

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

Nu geven we in de functie preg_match als derde parameter een variabele op (willekeurige naam):

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

In de opgegeven variabele komt een array met de gevonden zakken. Hierbij ligt in het nulde element van de array de gevonden string, in het eerste element - de eerste zak, in het tweede element - de tweede zak, enzovoort:

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

Gegeven een string met een datum:

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

Plaats het jaar, de maand en de dag in aparte zakken.

Gegeven een string met een bestandsnaam:

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

Plaats de bestandsnaam en de extensie in aparte zakken.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren