0

我有一个像这样返回的数组,它显示在多行上,这是一个系统生成的。

我想通过 PHP 将数组转换为一个衬里结果。请参阅下面的示例。

Array
(
    [0] => ping via eth0 2012-6-27 8:18:31   YES 
ping via eth0 2012-6-27 8:18:36  NO!!!
ping via eth1 2012-6-27 8:18:36   YES : ping via eth1 2012-7-19 7:48:3   YES 
ping via eth2 2012-7-19 7:48:3  not check
ping via eth3 2012-7-19 7:48:3   YES 
)

只返回一行或类似的东西:

Array
(
    [0] => ping via eth0 2012-6-27 8:18:31 YES : ping via eth0 2012-6-27 8:18:36  NO!!! : ping via eth1 2012-6-27 8:18:36  YES : ping via eth1 2012-7-19 7:48:3 YES : ping via eth2 2012-7-19 7:48:3  not check : ping via eth3 2012-7-19 7:48:3 YES 
)

谢谢。

4

3 回答 3

1

用这个

$str = "ping via eth0 2012-6-27 8:18:31   YES 
ping via eth0 2012-6-27 8:18:36  NO!!!
ping via eth1 2012-6-27 8:18:36   YES 
ping via eth1 2012-7-19 7:48:3   YES 
ping via eth2 2012-7-19 7:48:3  not check
ping via eth3 2012-7-19 7:48:3   YES ";

$str = preg_replace ('/[\n\r]/', ' : ', $str);


print_r($str);

工作示例http://codepad.viper-7.com/NPuAzf

于 2012-09-28T06:24:10.977 回答
0

如果数据在 $a[0] 中,那么应该这样做:

$a[0] = preg_replace ('/[\n\r]/+', ' : ', $a[0]);
于 2012-09-28T05:47:12.883 回答
0

如果你的数组有不止一行,你可以使用:

foreach ($entries as &$entry) {
  $entry = preg_replace('/[\r\n]', ':', $entry);
}
于 2012-09-28T05:50:26.880 回答