Page 1 sur 1
AIDE EXPRESSIONS REGULIERES
Posté : 26 oct. 2009, 22:11
par devcphp
Bonjour à tous,
j'aurais besoin de vos comptetences dans les experessions regulieres voire meme en spl si vous le savez.
Soit la chaine de caractere FA0910 135 ou il existe un espace entre FA0910 et 135.
je dois recuperer le 5 ieme et 6 ieme caractere, comment dois je procédé?
j'etais parti sur :
list($iDebut,$iFin) = explode( ' ',$sMaChaineDeCaractere);
unset ($iFin); // correpond à 135
$sChaineOuCherche = explode('FA',$iDebut);
Merci pour votre aide
Re: AIDE EXPRESSIONS REGULIERES
Posté : 26 oct. 2009, 22:21
par Dr@ke
Salut,
$chaine = 'FA0910 135';
list($debut, $fin) = explode( ' ', $chaine);
$resultat = substr($debut, -2);
ou:
$chaine = 'FA0910 135';
list($debut, $fin) = explode( ' ', $chaine);
$resultat = substr($debut, 4);
ou:
$chaine = 'FA0910 135';
$resultat = substr($chaine, 4, 2);

Re: AIDE EXPRESSIONS REGULIERES
Posté : 26 oct. 2009, 22:36
par devcphp
Bcp plus simple que ce à quoi je m'attendais .Merci
Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 01:15
par fab
$chaine{3} et $chaine{4} non?
Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 01:45
par Dr@ke
$chaine{3} et $chaine{4} non?
De quoi tu parles?

Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 01:50
par fab
Bah pour afficher les caractères, tu connais pas? :p
Essaye
<?php
$string = "plop";
echo "Char 1 :: " .$string{1}."\n";
?>
Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 01:56
par Dr@ke
Non je ne connaissais pas, je suis autodidacte
Donc oui comme dit fab, une autre technique simple:
$chaine = 'FA0910 135';
$resultat = $chaine{4} . $chaine{5};
Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 02:09
par fab
autodidacte na rien a voir, tu as simplement raté certains chapitres sur phpdebutant ou le siteduzero

Y a pleins de trucs cons des fois

Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 02:21
par Dr@ke
C'est sur
Je viens de lire un petit article dessus, ils expliquent que les chaines ressemblent aux tableaux.
Et donc que $chaine[4] renvoie le 5eme caractère...
Donc $chaine{4} doit être une variante je suppose.
Et le décalage existe car comme toujours on démarre de 0...
Intéressant

Re: AIDE EXPRESSIONS REGULIERES
Posté : 27 oct. 2009, 02:27
par fab
Oué mais par contre dans le genre mauvaise pratique je présente utiliser les [] sur des chaines! Après ça devient impossible de te repérer dans ton code

D'autant plus que tu peux utiliser des variables avec les { donc il n'y aucun avantage à utiliser les [] ex:
$string = "plopinou";
for($i=0;$i<strlen($string);$i++) echo $string{$i};
{/PHP]