J'ai donc une chaîne qui stocke les numéros de téléphone comme tels, $phone = "123456790"
. Comment puis-je le diviser pour l'imprimer dans ce format: 123-456-7890?Comment puis-je scinder cette chaîne avec un trait d'union?
1
A
Répondre
7
$areacode = substr($phone, 0, 3);
$prefix = substr($phone, 3, 3);
$number = substr($phone, 6, 4);
echo "$areacode-$prefix-$number";
Vous pouvez aussi le faire avec des expressions régulières:
preg_match("/(\d{3})(\d{3})(\d{4})/",$phone,$matches);
echo "$matches[1]-$matches[2]-$matches[3]";
Il y a plus de moyens, mais soit fonctionnera.
+0
+1 pour la belle reg-ex –
1
echo substr($phone, 0, 3) . '-' . substr($phone, 3, 3) . '-' . substr($phone, 6);
3
Le code suivant également valider votre entrée.
preg_match('/^(\d{3})(\d{3})(\d{4})$/', $phone, $matches);
if ($matches) {
echo(implode('-', array_slice($matches, 1)));
}
else {
echo($phone); // you might want to handle wrong format another way
}
2
$p = $phone;
echo "$p[0]$p[1]$p[2]-$p[3]$p[4]-$p[5]$p[6]$p[7]$p[8]";
fonction moins d'appels. :)
1
Plus regexp :)
$phone = "1234567890";
echo preg_replace('/^(\d{3})(\d{3})(\d{4})$/', '\1-\2-\3', $phone);
Questions connexes
- 1. scinder l'e-mail d'une chaîne avec PHP
- 2. scinder un nom de fichier - sous-chaîne?
- 3. Scinder une chaîne en javascript
- 4. Comment pré-scinder une chaîne pour un hachage en rubis?
- 5. Scinder une chaîne en plusieurs lignes
- 6. comment ajouter un trait d'union entre une chaîne
- 7. Scinder une chaîne en mots avec des caractères suédois
- 8. Comment accéder à cette propriété d'objet avec un nom de trait d'union?
- 9. Puzzle: scinder une chaîne HTML correctement
- 10. Scinder une chaîne en un tableau de caractères en C++
- 11. Comment analyser cette chaîne avec regex?
- 12. Comment diviser cette chaîne avec python?
- 13. insérer un trait d'union dans une chaîne C++
- 14. Comment diviser cette chaîne
- 15. Map.connect avec un trait d'union dans l'URL
- 16. Comment représenter correctement un mixin/rôle/trait avec UML?
- 17. Comment indexer un mot avec trait d'union dans Lucene?
- 18. Comment scinder le fichier en.yml?
- 19. Scinder une chaîne en deux caractères dans Ruby
- 20. comment décoder cette chaîne JSON?
- 21. Scinder une chaîne en une liste en python
- 22. c scinder un char * en un char **
- 23. Comment utiliser le trait scala.Proxy
- 24. multiples exploser caractères avec virgule et - (trait d'union)
- 25. Arrêter l'encapsulation d'un texte avec trait d'union?
- 26. Scinder une chaîne par un saut de ligne et un espace dans le shell Bourne
- 27. Comment scinder commet automatiquement dans différentes branches?
- 28. Scinder les chaînes de manière "Google"
- 29. Comment puis-je grep pour une chaîne qui commence par un tiret/trait d'union?
- 30. scinder une chaîne dans js où un modèle ne correspond PAS?
Regex, mais vous avez deux problèmes. – glasnt
Pas si difficile avec regEx non plus, voir ci-dessous. – Erik