|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 460 ![]() |
Bonsoir,
meilleurs voeux pour 2007 à tous les développeurs PHP ! Je viens de découvrir que le séparateur de milliers n'est peut être pas un espace. Est-ce possible ? La preuve : lorsque je fais un ereg_replace ("3 ", "3", $chaine) pour le supprimer, ma $chaine reste identique. Si mon analyse est correcte, comment peut-on repérer et traiter ce signe si particulier qui sépare les milliers des centaines dans 3 650, par exemple. Pour info, si vous faites le test en copiant et en collant 3 650, la manip avec ereg_replace va fonctionner. Elle va buguer si le nombre est sorti d'une bdd où il a été formaté pour s'afficher avec le séparateur. Je suis clair ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Salut,
J'ai récemment été confronté à un problème en tout point similaire avec un développement en C#, j'avais des entiers formatés avec le séparateur de milliers par défaut dans l'environnement, à l'affichage je voyais un espace mais pour faire des remplacements de texte par le code ça ne marchait pas. Je m'en suis sorti en forçant l'espace en tant que séparateur sans chercher à en savoir plus sur ce mystérieux caractère... Je n'ai pas de solution mais c'est juste pour dire que cela est effectivement possible...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 460 ![]() |
Merci pour ta réponse qui confirme juste que ce que je présente est un véritable problème, pas juste une vue de l'esprit.
|
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 460 ![]() |
Quelques éléments de réponse :
- mon texte est codé en utf8 lorsque je le récupère. La chaîne que je cherche à traiter apparaît alors ainsi : 3Â 560 Cela semble montrer qu'il ne s'agit pas vraiment d'un espace classique, mais bel et bien d'un caractère spécial. - Cette chaîne donne bien 3 560 avec utf8_decode() mais l'espace entre le 3 et le 5 reste insensible aux opérations ereg_replace() : 3 560 reste 3 560 ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com