[英]Parsing text file in PHP
我需要在PHP中解析文本文件。 请看下面,我已将其作为图像上传。 我需要让黄色的田地市场。
试过很多方法,但没有任何信心。 有人能帮帮我吗?
谢谢
您可以使用正则表达式和一些标记来处理文件。 您的字段分隔值似乎是'/',记录分隔符是'\\ 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);
请注意,记录分隔符很重要,您需要根据文件编码进行调整。
更新。 我已将记录分隔符改进为空行而不是两个连续的新行。
请尝试以下方法:
$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
是变量名称,它们将保持不变,因此我对这些字母进行了硬编码。 如果不是这样,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.