0
A
回答
2
您可以處理與正則表達式和一些符號化的文件。看起來你的字段seperater值是'/',記錄分隔符是'\ r \ n \ r \ n'。
$string = "data"; //lets assume your data is contained in one string
$records = preg_split("/^[\r\n\s]+$/", $string);
//this line assume your file contains dos formatting, change to "/\r\r/" for osx and "/\n\n/" for unix
$data = array();
foreach ($records as $record) {
$fields = explode("/", $records);
$data[] = array($fields[2], $fields[3], $fields[7], $fields[16);
}
var_dump($data);
請注意,記錄分隔符很重要,您需要根據文件編碼進行調整。
更新。我將記錄分隔符改進爲空行而不是連續兩行新行。
0
嘗試以下操作:
$pattern[] = '#[\d]{02}-[\d]{2}-[\d]{2}/[\d]{2}\s[A-Z]{1}\s[\d]{2}#';
$pattern[] = '#EVENT=[A-Z]{3,}#';
$pattern[] = '#AFLR=[\d]{3}-[\d]{3}#';
$res = array();
foreach ($pattern as $key => $value){
if (preg_match_all($value, $text, $matches)){
$res[] = $matches[0];
} else {
$res[] = NULL;
}
}
它看起來像EVENT
和AFLR
是變量名都將保持不變,所以我硬編碼的字母。如果情況並非如此,請告訴我。
相關問題
- 1. 解析php文本文件
- 2. PHP解析文本
- 3. 解析C++中的大文本文件
- 4. 解析文本文件中的數字
- 5. 解析R中的文本文件
- 6. VBA文本文件解析
- 7. 解析文本文件
- 8. 解析文本文件perl
- 9. Ruby - 解析文本文件
- 10. 解析文本文件
- 11. 解析文本文件不
- 12. 從文本文件解析
- 13. 解析文本文件
- 14. 解析文本文件Java
- 15. 解析文本文件
- 16. Groovy解析文本文件
- 17. C#:解析文本文件
- 18. Perl解析文本文件
- 19. 解析文本文件行
- 20. C#解析文本文件
- 21. 解析文本文件
- 22. 解析文本文件和
- 23. m解析文本文件
- 24. 解析文本文件
- 25. 解析文本文件
- 26. ios解析文本文件
- 27. 不解析的Php文件
- 28. 用php解析javascript文本
- 29. 用php解析腳本源文件
- 30. PHP腳本解析文件不正確
你看過正則表達式嗎?使用preg_match等... –
詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試解決方案,爲什麼他們沒有工作,以及預期的結果。另請參閱:[**堆棧溢出問題清單**](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) – Prix
如果格式與此一致,則可以使用' explode()'將數據拆分成一個數組。數據是逐行顯示的,還是與單行上的每條記錄一起顯示? – 2013-07-20 09:31:53