Php 如何将以下字符串转换为数组

Php 如何将以下字符串转换为数组,php,string,Php,String,我需要这个格式的输出 Disk Space:50MB Data transfer:500MB Domains:1 Email Accounts:2 产出: 数组 ( [0]=>阵列 ( [0]=>磁盘空间:50MB [1] =>数据传输:500MB [2] =>域名:1 [3] =>电子邮件帐户:2个 ) ) 这假设您的字符串将采用[name][colon][value][space]格式,其中[name]中没有[colon],而[value]中没有[space] 此外,您可能需要修剪

我需要这个格式的输出

Disk Space:50MB Data transfer:500MB Domains:1 Email Accounts:2


产出:

数组
(
[0]=>阵列
(
[0]=>磁盘空间:50MB
[1] =>数据传输:500MB
[2] =>域名:1
[3] =>电子邮件帐户:2个
)
)
这假设您的字符串将采用
[name][colon][value][space]
格式,其中[name]中没有[colon],而[value]中没有[space]

此外,您可能需要
修剪
匹配的结果

产出:

数组
(
[0]=>阵列
(
[0]=>磁盘空间:50MB
[1] =>数据传输:500MB
[2] =>域名:1
[3] =>电子邮件帐户:2个
)
)
这假设您的字符串将采用
[name][colon][value][space]
格式,其中[name]中没有[colon],而[value]中没有[space]



此外,您可能需要修剪匹配的结果。

您有什么以及您到底想要什么?一个字符串的分隔符是什么?您可以尝试preg_split或只使用常规preg_match函数来执行此操作。我从数据库中获取描述值,如上面的字符串格式输出,现在我想如上所示将其打断,如果您的值没有空格以外的分隔符,则无法完成,除非你能保证你的值中没有空格符。你有什么,你到底想要什么?一个字符串的分隔符是什么?你可以尝试preg_split或只使用常规preg_match函数来实现这一点。从数据库中,我得到了描述值,就像上面的字符串格式输出一样,现在我想如上所示将其打断,如果您的值没有空格以外的分隔符,则无法完成,除非您能保证值中没有空格字符。OP希望将其作为数组返回,而不是使用HTML将其拆分为不同的行。OP希望将其作为数组返回,而不是使用HTML将其拆分为不同的行。[响应]代码=200描述=命令已成功完成属性[domaincheck][0]=211域名不可用属性[domainchecktime][0]=0.238属性[domaincheck][1]=211域名不可用属性[domainchecktime][1]=0.238排队时间=0运行时=0.251 EOF只是我们需要按上述格式显示,你能帮我怎么做吗split@GangaRaju您可以将匹配数组中的
替换为
=
。@GangaRaju如下:
foreach($val匹配[0])echo stru_replace(“:”,“=”,trim($val))。“
这将输出
磁盘空间=50MB
数据传输=500MB
等。我需要为以下示例进行训练:[响应]code=200 description=命令成功完成属性[domaincheck][0]=211域名不可用属性[domainchecktime][0]=0.238属性[domaincheck][1]= 211域名不可用属性[域名检查时间] = 0.238排队时间=0运行时间=0.251 EOF您能考虑这个吗?[响应]代码= 200描述=命令成功完成属性[域名检查] [0 ] = 211域名不可用属性[域名检查时间] [0 ]=0.238属性[域名检查] [1 ]=211域名不可用属性[domainchecktime][1]=0.238 queuetime=0 runtime=0.251 EOF我们需要按上述格式显示,您能帮助我如何split@GangaRaju您只需将匹配数组中的
替换为
=
。@GangaRaju如下:
foreach($val匹配[0])echo str_replace(“:”,“=”,trim($val))。“
”;
这将输出
磁盘空间=50MB
数据传输=500MB
等。我需要为以下示例进行训练:[响应]代码=200描述=命令成功完成属性[domaincheck][0]=211域名不可用属性[domainchecktime][0]=0.238属性[domaincheck][1]= 211域名不可用属性[域名检查时间] [ 1 ]=0.238排队时间=0运行时=0.251 EOF,请您考虑一下。
Disk Space:50MB
Data transfer:500MB
Domains:1
Email Accounts:2
<?php
echo nl2br("text\r\n");
?>
$str="Disk Space:50MB Data transfer:500MB Domains:1 Email Accounts:2";
$match=null;
preg_match_all('/[^\:]+\:[^\s]+/i',$str,$match);
print_r($match);