Parsage donnée pour sms

Jayden
Invité n'ayant pas de compte PHPfrance

07 avr. 2008, 21:14

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.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

08 avr. 2008, 12:48

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
?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 avr. 2008, 15:59

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...