我尝试使用split,preg_split或explode将以下数据解析为数组,以便我可以轻松地打印和修改数据:
28782188 /var/opt
当我跑步时
print_r(preg_split('/ /', $input));
我得到的只是
Array ( [0] => 28782796 /var/opt )
有没有办法让php与我从du调用中得到的空白分开?
答案 0 :(得分:4)
我想你想要
preg_split('/\s+/',$input);
要按任何空白字符分割 - 如果我没记错的话,请使用标签(\t
)分开,尽管不要引用我...
编辑将正则表达式更改为有效的...
答案 1 :(得分:1)
<?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' )
?>
答案 2 :(得分:0)
尝试print_r(explode(' ', $input));
打破空白输入。
答案 3 :(得分:0)
只需使用explode ...
print_r(explode(' ', $input));