我需要能够在 PHP 中解析此类数据:
Acct: 1
email : bleh@gmail.com
status : online
--------------------------------------------------
Acct: 2
email : dfgg@fgfg.com
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:
零件,但除此之外的任何东西我都无法理解。