按照协议文档,我可以接收编码为字符串的参数数组,其中每个参数与其他参数之间用空格分隔。参数内的空格用反斜杠转义。
因此,假设参数数组中有以下字符串:
array('Eli is beautiful', 'Fran is ugly', 'Oso is nice')
这些将被编码为一个字符串,如下所示:
Eli\ is\ beautiful Fran\ is\ ugly Oso\ is\ nice
编码不是主要问题,但我面临解码问题。
我尝试使用正则表达式拆分参数,该表达式应该按反斜杠后面没有的空格进行拆分,所以这是我的代码:
$params = preg_split('/[^\\\\]\s/', $str);
它按预期分割参数,但它也删除了每个参数的最后一个字符,所以这是 var_dump 的输出:
array(3) {
[0]=>
string(15) "Eli is beautifu"
[1]=>
string(11) "Fran is ugl"
[2]=>
string(11) "Oso is nice"
}