在 php 中有条件地分解字符串

explode string conditionally in php

我有一个带空格的字符串如下。

$name = 'name="shadow" msg="Your message"';

我想把字符串分解成name="shadow"msg="Your message"。但是msg里面的消息也被拆分了

在使用 whitespace 爆炸时我没有得到想要的输出

$code = explode(' ', $name);

我想得到

$code[0] = 'name="shadow"'
$code[1] = 'msg="Your message"'

但我明白了

$code[0] = 'name="shadow"'
$code[1] = 'msg="Your'
$code[3] = 'message"'

preg_split() 中使用 /(?<=\")\s/ 正则表达式。 " 字符

之后的正则表达式 select 任何 space
$name = 'name="shadow" msg="Your message"';
$code = preg_split('/(?<=\")\s/', $name);

检查结果 demo