我正在尝试使用 split、preg_split 或 explode 将以下数据解析为一个数组,以便我可以轻松地打印和修改数据:
28782188 /var/opt
当我跑
print_r(preg_split('/ /', $input));
我得到的只是
Array ( [0] => 28782796 /var/opt )
有没有办法让 php 与我从 du 调用中得到的空格分开?
我正在尝试使用 split、preg_split 或 explode 将以下数据解析为一个数组,以便我可以轻松地打印和修改数据:
28782188 /var/opt
当我跑
print_r(preg_split('/ /', $input));
我得到的只是
Array ( [0] => 28782796 /var/opt )
有没有办法让 php 与我从 du 调用中得到的空格分开?
我想你想要
preg_split('/\s+/',$input);
如果我没记错的话,用任何空格字符分隔 - du 用制表符( \t
) 分隔,尽管不要引用我的话......
编辑将正则表达式更改为有效的...
<?php
$value = '28782188 /var/opt';
$values = array();
//du might separate size and directory with **multiple** space/tabs
preg_match_all('/\w*\S[\w\/]*/', $value, $values, PREG_PATTERN_ORDER);
print_r($values);
// outputs: Array ( [0] => '28782188', [1] => '/var/opt' )
?>
尝试print_r(explode(' ', $input));
通过空格中断输入。
只需使用爆炸...
print_r(explode(' ', $input));