在 PHP 中分割输出

发布于 2024-12-02 00:46:38 字数 302 浏览 2 评论 0原文

我正在尝试使用 split、preg_split 或explode 将以下数据解析为数组,以便我可以轻松打印和修改数据:

28782188    /var/opt

当我运行

print_r(preg_split('/ /', $input) );

我得到的只是

Array ( [0] => 28782796 /var/opt )

有没有办法让 php 与我从 du 调用中得到的空格分开?

I'm trying to use either split, preg_split, or explode to parse the following data into an array so that I can easily print and modify the data:

28782188    /var/opt

When I run

print_r(preg_split('/ /', $input));

All I get is

Array ( [0] => 28782796 /var/opt )

Is there a way to make php split with the whitespace that I'm getting from my du calls?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

望喜 2024-12-09 00:46:38

我想你想

preg_split('/\s+/',$input);

用任何空白字符分割 - du 与 制表符 (\t) 分开,如果我没记错的话,尽管不要引用我的话。 .

编辑将正则表达式更改为有效的...

I think you want

preg_split('/\s+/',$input);

To split by any white-space character - du seperates with tabs (\t) if I remember right, although don't quote me on that...

EDIT Changed regex to one that works...

浮华 2024-12-09 00:46:38
<?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' )
?>
<?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' )
?>
满栀 2024-12-09 00:46:38

尝试使用 print_r(explode(' ', $input)); 来打破空白输入。

Try print_r(explode(' ', $input)); to break input over whitespace.

沉睡月亮 2024-12-09 00:46:38

只需使用 爆炸...

print_r(explode(' ', $input));

Just use explode...

print_r(explode(' ', $input));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文