Page 1 sur 1

Parsage donnée pour sms

Posté : 07 avr. 2008, 21:14
par Jayden
Bonjour,
Je suis en train de mettre en place un site permettant de traité des sms et de les mettre dans une base de données permettant de gérer un parc informatique de setup box.Pour ce faire je dois traité le sms reçu pour récupéré les différentes infos nécessaire.
Malheureusement toutes mes variables ne contiennent que des array après traiement.Je ne vois pas ou j'ai fauté pour le parsage.Le message est bien reçu puisque sur ma page j'affiche le message contenu dans content après plus rien.Un sms a cette forme :

smim gekobox69945282806/Apr/02:006/Apr/02:0Bonne04345c69e70280||1&& gekobox69945282806/Mar/02:006/Apr/02:0Bonne04345c69e70280||2&&gekobox69945282806/Apr/02:006/Apr/02:0Bonne04345c69e70280||3

Chaque box différentes est séparé par '&&' et 'II' sépare la sauvegarde du reste de l'info.
VOilà mon code:
<?
//supression premier mot (smim) qui ne sert à rien
$content = urlencode(substr(strstr($content," "),1));
echo 'Content : '.$content.'<br />';
//séparation grâce aux délimiteurs des différents tags, du corps de chacun et de la sauvegarde
foreach ($lines as $lines) :
$lines = explode("&&", $content);
list($str, $sauv) = explode("||", $lines);

//séparation du corps sans délimiteurs avec les tailles des données grâce à strsplit
$nom = str_split($str,7);
$num = str_split($str,10);
$datei = str_split($str,11);
$dater = str_split($str,11);
$etat = str_split($str,5);
$uid = str_split($str,14);
?>

Merci pour votre aide.

Posté : 08 avr. 2008, 12:48
par sadeq
Tu as un problème dans l'ordre des instructions qui décode le $content

Correction:
<?php
//supression premier mot (smim) qui ne sert à rien
$content = trim(urlencode(str_replace("smim ", "" , $content)));
echo 'Content : '.$content.'<br />'; 

//séparation grâce aux délimiteurs des différents tags, du corps de chacun et de la sauvegarde

//Découpage de $content sous forme d'un tableau $lines
$lines = explode("&&", $content);

//boucle de parcours du tableau $lines ligne par ligne nommée $line
foreach ($lines as $line)
{
   //Récup des données $str et du n° de sauvegarde $sauv à partir d'une ligne $line
   list($str, $sauv) = explode("||", $line);

   //séparation du corps sans délimiteurs avec les tailles des données grâce à strsplit
  $nom = str_split($str,7);
  $num = str_split($str,10);
  $datei = str_split($str,11);
  $dater = str_split($str,11);
  $etat = str_split($str,5);
  $uid = str_split($str,14); 
  //Après on peut utiliser les données extraites
  ....
} //fin de la boucle de traitement
?>

Posté : 08 avr. 2008, 15:59
par Ryle
Modération :
Jayden, le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.


:arrow: http://www.phpfrance.com/forums/voir_re ... php#241662