Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2008, 12h14   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 39
Points : 4
Points : 4
Par défaut Numéro de téléphone

Bonjour,

Je possède une chaine de caractère et je souhaiterais la manipuler de la façon suivante : remplacer lorsqu'il y a un numéro de télephone "0653895746" par "06, 53, 89, 57, 46" ... c a d mettre ", " après chaque doublons de chiffre d'un numéro de tel.
Merci pour vos suggestions
joss91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 12h31   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut
j'ai pas testé mais essaye ceci :
Code :
1
2
3
 
$str = "0653895746";
$n = implode( "," , str_split($str, 2) );
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 12h31   #3
Modérateur
 
Avatar de Er3van
 
Homme Clément
Architecte Logiciel
Inscription : avril 2008
Messages : 1 370
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte Logiciel
Secteur : Industrie

Informations forums :
Inscription : avril 2008
Messages : 1 370
Points : 2 093
Points : 2 093
Pas besoin d'utiliser de RegEx à mon avis.

Dans ton cas un simple substr suffit :

Code :
1
2
for ( $i = 0, $i < strlen($maChaine), $i += 2 )
        $maNewChaine = $maNewChaine.substr($maChaine, $i, 2).', ' ;
__________________
One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

-- Chuck Palahniuk, Fight Club, Chapter 3 --
Er3van est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h38   #4
Invité de passage
 
Inscription : janvier 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 39
Points : 4
Points : 4
oui j'y avais pensé cela vaut pour une chaine de ce type "0650212326" mais c'est une chaine de ce type que je possède :

"Bonjour, votre numéro est le 0650212326. Merci."

Il faudrait en fait que cela check toute la chaine pour voir si un numéro est à l'intérieur d'abord puis ensuite faire la conversion dans la chaine...
joss91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h49   #5
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Tada !

Code :
1
2
$str="Bonjour, votre numéro est le 0650212326. Merci.";
echo preg_replace('#([0-9]{10})#e', 'substr(chunk_split("\1", 2, ", "), 0, -2)', $str);
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 14h33   #6
Invité de passage
 
Inscription : janvier 2008
Messages : 39
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 39
Points : 4
Points : 4
YEAH PERFECT ! THANKS A LOT
joss91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h00.


 
 
 
 
Partenaires

Hébergement Web