que je dois être capable d'analyser ce type de données en PHP:Besoin d'aide pour l'analyse des données en PHP
Acct: 1
email : [email protected]
status : online
--------------------------------------------------
Acct: 2
email : [email protected]
status : banned
--------------------------------------------------
Acct: 3
signedupname : SomeUsername
somethingelse : offline
--------------------------------------------------
Comme vous pouvez voir les données est en grande partie aléatoire. La seule chose qui reste la même est la -----
séparant chaque entrée et les bits Acct: 1
. Le remplissage entre chaque :
change souvent tout comme la variable pour représenter chaque bit de données.
J'ai essayé de passer en revue et d'analyser tout cela moi-même en utilisant regex mais je ne suis pas assez habile pour être capable de le faire correctement. A la fin de ce que je veux des données selon les critères suivants:
Acct: <integer>
var1: <string>
var2: <string>
Si cela n'a aucun sens. Il n'a pas besoin d'être aussi efficace, car j'aurai besoin de faire cela une fois par jour et cela ne me dérange pas d'attendre le temps dont il a besoin.
Merci. :)
Edit: Voici ce que je l'ai fait moi-même:
<?php
$data = file_get_contents('records.txt');
$data = explode('******** Saved Host list with acct/variables ********', $data);
$data = explode('--------------------------------------------------', $data[1]);
foreach($data as &$dataz)
{
$dataz = trim($dataz);
}
$data = str_replace('Acct:', "\nAcct:", $data);
foreach($data as $dataz)
{
preg_match('/Acct: (.*)/', $dataz, $match);
$acct = $match[1];
preg_match('/: (.*)/', $dataz, $match);
$var1 = $match[1];
echo $var1;
}
?>
J'obtenu aussi loin que l'extraction de la Acct:
partie, mais au-delà de tout ce que je ne peux tout simplement pas obtenir ma tête.
Cela aide si vous montrez ce que vous avez fait jusqu'à présent. Les gens sont plus disposés à aider si vous pouvez leur montrer votre effort. –
Ah bien sûr. Je vais éditer mon OP. – Kratz
Si les lignes de tirets ne contiennent que trois tirets, c'est-à-dire '---', alors ce sera valide [YAML] (http://yaml.org) – Joey