Ben PHP veri bu tür ayrıştırmak gerekiyor:
Acct: 1
email : bleh@gmail.com
status : online
--------------------------------------------------
Acct: 2
email : dfgg@fgfg.com
status : banned
--------------------------------------------------
Acct: 3
signedupname : SomeUsername
somethingelse : offline
--------------------------------------------------
Gördüğünüz gibi verilerin büyük ölçüde rastgele. Aynı kalır tek şey -----
, her giriş ve Acct: 1
bit ayırma. Her bir veri bit temsil etmek üzere değişken olduğu gibi her bir :
arasındaki doldurma genellikle değişir.
Ben geçiyor ve regex kullanarak kendim tüm ayrıştırma denedim ama defenately düzgün yapabilmek için yeterince yetenekli değilim. Bunun sonunda ben aşağıdaki göre veri istiyorum:
Acct: <integer>
var1: <string>
var2: <string>
O hiç bir mantıklı eğer. Ben yaklaşık günde bir kez bunu yapmak gerekir gibi, bu effeciant olması gerekmez ve nasıl-hiç uzun ihtiyacı için bekleyen umursamıyorum.
Teşekkür ederim. :)
Düzenleme: Bu benim kendi üzerinde ne yaptım:
<?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;
}
?>
Ben kadar Acct:
parçasını çıkarmak olarak var, ama bir şey bunun ötesinde ben sadece başımı alamıyorum.