php将txt按空格存储数组,从空格分隔的文本文件创建PHP数组

我有一个文本文件,该文件是要转换为数组的目录的列表.我认为可以使用空格定界,但是每个项目之间空格的数量不同,目录名称中的空格将是一个问题.我想将文本解析为PHP数组.

文本文件具有非常严格的结构,如下所示:

04/17/2013 09:49 PM

03/11/2013 06:48 PM

04/15/2013 08:34 PM

08/17/2012 09:50 PM

10/17/2011 05:12 PM

我只需要保留文件夹的日期(而不是时间),目录的完整名称(作为一项)和括号中的年份.提前致谢!

解决方法:

$str = "04/17/2013 09:49 PM

03/11/2013 06:48 PM

04/15/2013 08:34 PM

08/17/2012 09:50 PM

10/17/2011 05:12 PM

function sp($x) {

return preg_split("/\s\s+|\s*\((\d{4}).*\)/", $x,0,PREG_SPLIT_DELIM_CAPTURE);

}

$array = preg_split("/\n/", $str);

$processed = array_map('sp', $array);

print_r($processed);

这将创建一个数组数组.每行将成为一个数组,其中包含每个项目的数组.例如,$processed [0] [3]将包含这是目录1

请记住,此代码假定作为除法的空格必须为2或更大;同一字段只能考虑1个空格. (您可能需要根据需要手动修改)

编辑:我添加了该部分以将年份作为数组的单独元素.现在$processed [0] [4]具有1994.(您不需要(),对吗?)

标签:text-files,arrays,parsing,php,regex

来源: https://codeday.me/bug/20191123/2063880.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值