Php chaîne de caractère

Résolu/Fermé
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 - 12 nov. 2010 à 02:16
iBobos Messages postés 35 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 - 12 nov. 2010 à 14:53
Bonjour,

//J'éxecute ma requête

Je reçois : 64#1#7#0#1d7+0
Ou autre exemple : 7b#b#1e#0#1d20+10,80#1#0#0#0d0+1

Et je voudrais savoir s'il est possible de traiter cette chaîne de caractère,
tel que : (exemple 1)
$chaine = $typ'#X#X#X#'$j1.$j2.$j3;

X étant un nombre pouvant etre composé de 1 à 3 caractère.
Jusqu'ici, je ne trouve pas de solutions et doute d'en trouver :/. Pour gérer les multiple chaîne (exemple 2), j'avais idée de faire une boucle. Sinan j'voie pas tellement à quoi me servirait la fonction substr.
Voilà, j'espere tout de même avoir quelque réponse, sinon tanpis.

Cordialement.
A voir également:

2 réponses

iBobos Messages postés 35 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 6
12 nov. 2010 à 10:30
Bonjour,

Tu peux essayer de passer par les REGEXP.

Je ne suis pas expert dans ce domaine, mais je sais qu'une telle chose est possible.

$chaine = $typ'#X#X#X#'$j1.$j2.$j3;

Si j'ai bien compris, X peut être un nombre de 1 à 3 caractères.
Tu pourrais créer une REGEXP du genre:

$chaine = [#][0-9]{1,3}+[#][0-9]{1,3}+[#][0-9]{1,3};

Je n'ai aucune idée si cette Expression régulière marche, mais tu peux toujours essayer. En tout cas, creuse de ce côté, c'est par là que tu vas trouver.

Bon courage.
1
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
Modifié par siniko44 le 12/11/2010 à 13:53
Voilà, alors j'ai trouver un truc :

<?php ereg("([[:alnum:]]+)#([[:alnum:]]+)#([[:alnum:]]+)#([[:alnum:]]+)#([[:alnum:]]+)d([[:alnum:]]+)+([[:alnum:]]+)", '64#1#7#0#1d7+0', $regs); 
echo $regs[1];


Les '([[:alnum:]]+)' sont séparés par les caractère voulu. Mais php me dit que cette fonction est obsolète depuis la version 5.3.0. Je cherche donc une fonction quelque peu semblable à celle-ci.
0
iBobos Messages postés 35 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 6
12 nov. 2010 à 13:56
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
12 nov. 2010 à 14:14
Hmm, elle est bien compliqué elle :/
0
iBobos Messages postés 35 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 6
Modifié par iBobos le 12/11/2010 à 14:16
$chaine = "([[:alnum:]]+)#([[:alnum:]]+)#([[:alnum:]]+)#([[:alnum:]]+)#([[:alnum:]]+)d([[:alnum:]]+)+([[:alnum:]]+)";

if(preg_match($chaine, $taVariable)){
echo 'C'est valable';
} else {
echo 'C'est pas valable';
}
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
12 nov. 2010 à 14:52
Bon j'ai un peu abandonné l'idée, mais j'men suis sortie avec les 'stristr'. Certe, pas une méthode rapide mais elle marche ^^.
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
12 nov. 2010 à 13:26
Merci beaucoup, j'vais creusé dans cette idée ! ;)
0