⊗ppPmRgSP 248 of 447 menu

Catture nella ricerca con espressioni regolari in PHP

Supponiamo di avere una stringa che contiene un dominio:

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

Troviamo questo dominio e separiamolo in parti: separiamo il nome del dominio dalla sua estensione. Per fare ciò utilizzeremo le speciali catture delle espressioni regolari.

Le catture rappresentano elementi dell'array in cui è possibile inserire parti trovate dalla regex. Nel nostro caso, nella prima cattura possiamo mettere il nome del dominio, e nella seconda - la sua estensione.

Facciamolo. Per iniziare, scriviamo una regex che trova il dominio nella stringa:

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

Ora indichiamo nella nostra regex quali parti devono andare in quale cattura. Questo si fa usando le parentesi tonde. Evidenziamo con esse la parte della regex che cerca il nome del dominio, e la parte che cerca l'estensione del dominio:

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

Ora nella funzione preg_match come terzo parametro specifichiamo una variabile (qualsiasi nome):

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

Nella variabile specificata verrà inserito un array con le catture trovate. Inoltre, nell'elemento zero dell'array ci sarà la stringa trovata, nel primo elemento - la prima cattura, nel secondo elemento - la seconda cattura e così via:

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

Data una stringa con una data:

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

Inserisci l'anno, il mese e il giorno in catture separate.

Data una stringa con un nome di file:

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

Inserisci il nome del file e la sua estensione in catture separate.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta