2 votes

CSS ou PHP ajoutent un espace dans le format des nombres

Comment ajouter un espace après 3 et 4 chiffres ?

J'ai ces numéros : +4420719480

Le résultat doit être : +44 2071 9480

Comment puis-je ajouter les espaces avec css ou php après 4 caractères ?

J'ai essayé le code suivant :

$str = "+4420719480";
echo chunk_split($str, 4, ' ');

Mais comment ajouter l'espace aux 3 premiers caractères et ensuite au 4ème ?

3voto

Casimir et Hippolyte Points 33449

Vous pouvez utiliser preg_replace

$str = '+4420719480';
echo preg_replace('~^.{3}|.{4}(?!$)~', '$0 ', $str);

explication du motif :

~           # pattern delimiter
^.{3}       # any character 3 times at the start of the string
|           # OR
.{4}        # any character 4 times
(?!$)       # not followed by the end of the string
~           # pattern delimiter

remplacement : '$0 ' (le motif entier et un espace)

1voto

Sverri M. Olsen Points 5033

Parfois, la solution la plus banale fait parfaitement l'affaire.

$str = "+4420719480";
$new = substr($str,0,3).' '.substr($str,3,4).' '.substr($str,7);

0voto

En utilisant votre code, vous pouvez faire :

$str = "+4420719480";
echo strrev(chunk_split(strrev($str),4," "));

C'est un peu lourd et cela ne fonctionne que pour cette taille d'écran. $str mais ça marche !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X