Я анализирую ввод 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, чтобы дать мне список с каждым полем, разделенным запятойили что-то еще лучше!)