⊗ppPmRgRP 253 of 447 menu

Tasche nelle sostituzioni con regex in PHP

Quando si lavora con la funzione preg_replace, se mettiamo qualcosa in una tasca nella regex, allora nella stringa di sostituzione possiamo inserire il contenuto di questa tasca scrivendo il simbolo del dollaro $ e il numero della tasca. Ad esempio, $0 - tasca zero, $1 - prima tasca, $2 - seconda tasca e così via.

A cosa serve e come usarlo vediamolo con degli esempi.

Esempio

Troviamo tutti i numeri e al loro posto inseriamo questi stessi numeri, ma tra parentesi graffe. Per fare questo sostituiremo tutti i numeri trovati con loro stessi, ma tra parentesi graffe:

<?php $str = '1 23 456 xax'; $res = preg_replace('#(\d+)#', '{$1}', $str); ?>

Di conseguenza nella variabile verrà scritto quanto segue:

'{1} {23} {456} xax'

Esempio

Troviamo tutte le stringhe che rappresentano numeri con delle 'x' attorno e sostituiamo questi numeri con loro stessi, ma con dei segni '!' attorno:

<?php $str = 'x1x x23x x456x xax'; $res = preg_replace('#x(\d+)x#', '!$1!', $str); ?>

Di conseguenza nella variabile verrà scritto quanto segue:

'!1! !23! !456! xax'

Esempio

Risolviamo il seguente problema: date delle stringhe del tipo 'aaa@bbb' - lettere, poi il simbolo @, poi lettere. Dobbiamo scambiare le lettere prima di '@' e dopo. Implementiamo:

<?php $str = 'aaa@bbb ccc@ddd'; $res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str); ?>

Di conseguenza nella variabile verrà scritto quanto segue:

'bbb@aaa ddd@ccc'

Compiti pratici

Data una stringa:

<?php $str = '12 34 56 78'; ?>

Scambiate le cifre in tutti i numeri a due cifre.

Data una stringa con una data:

<?php $str = '31.12.2025'; ?>

Trasformate questa data in '2025.12.31'.

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