一些數據,我需要能夠分析這種數據的PHP:需要幫助解析PHP中
Acct: 1
email : [email protected]
status : online
--------------------------------------------------
Acct: 2
email : [email protected]
status : banned
--------------------------------------------------
Acct: 3
signedupname : SomeUsername
somethingelse : offline
--------------------------------------------------
正如你所看到的數據是很大程度上是隨機的。唯一保持不變的是-----
分隔每個條目和Acct: 1
位。每個:
之間的填充值通常隨着表示每一位數據的變量而變化。
我已經嘗試過使用正則表達式解析它,但我確實不夠熟練,無法正確執行。在這個結尾,我想根據以下數據:
Acct: <integer>
var1: <string>
var2: <string>
如果這是有道理的。它不需要那麼有效,因爲我需要每天做一次這樣的事情,我不介意等待它需要的時間。
謝謝。 :)
編輯:這是我做我自己:
<?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;
}
?>
我得到儘可能提取Acct:
一部分,但任何超出我根本不在身邊讓我的頭。
如果您顯示迄今爲止所做的工作,它會有所幫助。如果你能向他們展示你的努力,人們更願意提供幫助。 – 2010-08-16 23:18:41
當然啊。我會編輯我的OP。 – Kratz 2010-08-16 23:20:33
如果破折號行只包含三個破折號,即'---',那麼它將是有效的[YAML](http://yaml.org) – Joey 2010-08-16 23:25:59