我正在解析ls -lb命令的输入并尝试将每个字段放入PHP数组中。
我的输入类似于这样:
-rwx------ 1 user.name users 546879 2008-09-05 09:23 Newspaper_Templates.pdf
-rwx------ 1 user.name users 403968 2009-01-12 14:16 P2_05.ppt
-rwx------ 1 user.name users 144896 2009-01-12 14:08 P2.5_Using_CRO.ppt
drwx------ 8 user.name users 4096 2009-09-15 10:21 School\ 09-10
drwx------ 2 user.name users 4096 2010-06-28 13:59 SMART\ Notebook
drwx------ 2 user.name users 4096 2009-11-30 13:35 Templates
我会尝试逐行查看文本,并将多个空格替换为单个空格,除了那些被转义的空格。
每一行都会被读取到一个名为$filedata的变量中,然后经过以下处理:
$filedata = preg_replace("/\s+/", " ", $filedata);
print_r (preg_split("/[\s]/", $filedata));
这几乎可行,但对于包含转义空格的行,则无法正常工作。我该如何修改才能使拆分适用于空格,而不是转义空格?
(或者,有更好的方法吗?如果我能让ls给我列出每个字段以逗号或其他方式分隔的清单,那就更好了!)
opendir()
和readdir()
进行“目录列表”操作。 - gnarf