isoler les 3 premiers caractères d'une chaine

Eléphant du PHP | 428 Messages

13 juin 2010, 21:35

Bonjour,

Comment puis-je isoler les 3 premiers caractères d'une chaine qui peut être numérique, alphabétique ou alpha-numérique ?

Exemple de chaine : VSKY65SDIO01DHP
Je désirerais savoir comment je peux récupérer le "V", le "S" et le "K' séparément.
C'est pour créer une structure de répertoire du style : V/V_S/V_S_K/VSKY65SDIO01DHP/monfichier.txt.

Merci,
raph

ViPHP
ViPHP | 2291 Messages

13 juin 2010, 22:43

Salut,
Il y a surement mieux mais pour l'instant pourquoi pas comme ceci :?:
$chaine = '/VSKY65SDIO01DHP/monfichier.txt';
$rc  = $chaine{1};
$rc .= '/';
$rc .= $chaine{1};
$rc .= '_';
$rc .= $chaine{2};
$rc .= '/';
$rc .= $chaine{1};
$rc .= '_';
$rc .= $chaine{2};
$rc .= '_';
$rc .= $chaine{3};
echo $rc.$chaine; //-->Affiche : V/V_S/V_S_K/VSKY65SDIO01DHP/monfichier.txt
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 5462 Messages

14 juin 2010, 00:16

Salut,
Il y a surement mieux mais pour l'instant pourquoi pas comme ceci :?:
$chaine = '/VSKY65SDIO01DHP/monfichier.txt';
$rc  = $chaine{1};
$rc .= '/';
$rc .= $chaine{1};
$rc .= '_';
$rc .= $chaine{2};
$rc .= '/';
$rc .= $chaine{1};
$rc .= '_';
$rc .= $chaine{2};
$rc .= '_';
$rc .= $chaine{3};
echo $rc.$chaine; //-->Affiche : V/V_S/V_S_K/VSKY65SDIO01DHP/monfichier.txt
c'est plus conseil d'utiliser les crochets pour l'accès au caractères
http://www.php.net/manual/fr/language.t ... ing.substr

:wink:

sinon avec un petit coup de preg_replace
echo preg_replace('/((\w)(\w)(\w)\w+)/', '$2/$2_$3/$2_$3_$4/$1', 'VSKY65SDIO01DHP');
/*
V/V_S/V_S_K/VSKY65SDIO01DHP
*/

ViPHP
ViPHP | 2291 Messages

14 juin 2010, 00:32

Effectivement =D>
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 428 Messages

14 juin 2010, 17:55

Merciiiii ;)
Autrement, il y avait la possibilité de jouer avec substr : chose que j'avais fait mais c'est pas très propre.