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);
:wink:

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 :wink:

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 :D 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 :wink:

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]