Tri/Formatage d'une chaine PHP
Résolu
Mich
-
Mich -
Mich -
Bonjour,
J'ai la chaine de caractères suivante dans ma base de données : 02.01.01.20
J'aimerais pouvoir l'afficher sous cette forme : 2.1.1.20
En gros supprimer les 0 qui sont avant un chiffre et laisser ceux qui sont après. Comment faire ?
merci
J'ai la chaine de caractères suivante dans ma base de données : 02.01.01.20
J'aimerais pouvoir l'afficher sous cette forme : 2.1.1.20
En gros supprimer les 0 qui sont avant un chiffre et laisser ceux qui sont après. Comment faire ?
merci
A voir également:
- Tri/Formatage d'une chaine PHP
- Formatage clé usb - Guide
- Formatage pc - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Chaine tnt gratuite sur mobile - Guide
- Logiciel tri photo - Guide
7 réponses
Regarde du côté de la fonction ereg_replace() : https://www.commentcamarche.net/contents/803-php-expressions-regulieres
Avec ça tu pourras filtrer ton texte.
Cdt
Avec ça tu pourras filtrer ton texte.
Cdt
Wow c'est super compliqué, pour permettre de savoir si ça a cette allure : 02.01.01.04 je pensais à un truc comme ça :
"^0.{2}[0].{2}[0].{2}[0].{1}" mais déjà là, ce que j'ai fais ne dois pas être juste et en plus si ma valeur vaut ça : 02.01.01.20 ou 02.31.23.01 ça marche plus?!
Je vois vraiment pas pourquoi et comment utiliser les regex là, si quelqu'un peut m'aider...?
"^0.{2}[0].{2}[0].{2}[0].{1}" mais déjà là, ce que j'ai fais ne dois pas être juste et en plus si ma valeur vaut ça : 02.01.01.20 ou 02.31.23.01 ça marche plus?!
Je vois vraiment pas pourquoi et comment utiliser les regex là, si quelqu'un peut m'aider...?
la fonction à utiliser n'est pas regexp(...) mais eregi() (petite erreure de copier-coller. désolé)
et ton expréssion régulière est :
Soit : un chiffre entre 1 et 9 suivi (ou non) par un ou plusieurs chiffre puis un point. On répéte cette expression 4 fois.
Cdt
et ton expréssion régulière est :
"[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*"
Soit : un chiffre entre 1 et 9 suivi (ou non) par un ou plusieurs chiffre puis un point. On répéte cette expression 4 fois.
Cdt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord donc au niveau de la fonction eregi(chaîne modele,chaîne texte[,tableau occurrences]) :
Le but est de passer en modèle ça : "[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*" pour que ça le compare à ma chaine texte, ainsi ça va me sortir true à chaque zéro trouvé qui est avant un chiffre ?
par exemple : eregi("[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*",02.01.01.20) ?
Le but est de passer en modèle ça : "[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*" pour que ça le compare à ma chaine texte, ainsi ça va me sortir true à chaque zéro trouvé qui est avant un chiffre ?
par exemple : eregi("[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*",02.01.01.20) ?
La beauté de la chose c'est que cette fonction permet de donner un modele à la chaine passée en paramêtre donc si ta chaine ne correspond pas, la fonction va la modifier pour faire en sorte qu'elle corresponde au modéle.
Exemple :
Je dois y aller.
Bonne soirée et bon courage.
Exemple :
<?php $chaine = eregi("[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*.[1-9][1-9]*","02.01.01.20"); echo $chaine; ?> te ressortira (normalement) : 2.1.1.20
Je dois y aller.
Bonne soirée et bon courage.