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