OVH Cloud OVH Cloud

Formatage chaine de caracteres

3 réponses
Avatar
billard.eric
Bonjour,
J'ai besoin de formater le numéro INSEE (13 caracteres) en insérant
des blancs entre les elements significatifs, pour le rendre plus
lisible.
Avez vous mieux que ça (je veux dire plus rapide ou/et moins gourmant
en ressources) :
$lcInsee=substr($tcinsee,0,1).' '.substr($tcinsee,1,2).'
'.substr($tcinsee,3,2).' '.substr($tcinsee,5,2).'
'.substr($tcinsee,7,3).' '.substr($tcinsee,10,3);
Pour ceux qui ne connaissent pas, imaginez qu'il s'agit d'un numéro de
téléphone (0825825829 -> 0 825 825 829).
Merci
EB

3 réponses

Avatar
CrazyCat
Eric BILLARD wrote:
Bonjour,
J'ai besoin de formater le numéro INSEE (13 caracteres) en insérant
des blancs entre les elements significatifs, pour le rendre plus
lisible.


Avec une petite expression régulière:
$pattern = "/(d{1})(d{2})(d{2})(d{2})(d{3})(d{3})/";
$lcInsee = preg_replace($pattern, "$1 $2 $3 $4 $5 $6", $tcinsee);

Bon courage :)

--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net

Avatar
Olivier Miakinen
Le 17/03/2005 16:29, CrazyCat répondait à Éric Billard :

J'ai besoin de formater le numéro INSEE (13 caracteres) en insérant
des blancs entre les elements significatifs, pour le rendre plus
lisible.


Avec une petite expression régulière:
$pattern = "/(d{1})(d{2})(d{2})(d{2})(d{3})(d{3})/";


Ou bien, sans vérifier que ce sont bien des chiffres :
$pattern = "/(.)(..)(..)(..)(...)(...)/";

$lcInsee = preg_replace($pattern, "$1 $2 $3 $4 $5 $6", $tcinsee);


Pas de changement ici.

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.


Avatar
billard.eric
Merci !!!
Désolé de ne pas avoir répondu plus vite, j'étais passé à autre chose ...
Bonne journée
EB