⊗ppPmRgRP 253 of 447 menu

Les références (captures) dans les remplacements via les expressions régulières en PHP

Lorsque l'on travaille avec la fonction preg_replace, si nous capturons quelque chose dans l'expression régulière, alors dans la chaîne de remplacement, nous pouvons insérer le contenu de cette capture en écrivant le signe dollar $ et le numéro de la référence. Par exemple, $0 - la référence zéro (la correspondance totale), $1 - la première référence, $2 - la deuxième référence et ainsi de suite.

Voyons à quoi cela sert et comment l'utiliser à l'aide d'exemples.

Exemple

Trouvons tous les nombres et remplaçons-les par ces mêmes nombres, mais entre accolades. Pour cela, nous allons remplacer tous les nombres trouvés par eux-mêmes, mais entre accolades :

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

En conséquence, la variable contiendra ce qui suit :

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

Exemple

Trouvons toutes les chaînes représentant des nombres entourés de 'x' et remplaçons ces nombres par eux-mêmes, mais entourés de '!' :

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

En conséquence, la variable contiendra ce qui suit :

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

Exemple

Résolvons le problème suivant : on donne des chaînes de la forme 'aaa@bbb' - des lettres, puis un arobase, puis des lettres. Il faut inverser les lettres avant '@' et après. Implémentons :

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

En conséquence, la variable contiendra ce qui suit :

'bbb@aaa ddd@ccc'

Tâches pratiques

Soit une chaîne :

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

Inversez les chiffres dans tous les nombres à deux chiffres.

Soit une chaîne avec une date :

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

Transformez cette date en '2025.12.31'.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser