【发布时间】:2011-11-12 23:01:52
【问题描述】:
我有一个这样的字符串:
abc=1&def=abc||abc=xyz&xyz=1
如何通过& 和|| 字符来分解它?
例如,在这种情况下,数组应该是
[0] => 'abc=1'
[1] => 'def=abc'
[2] => 'abc=xyz'
[3] => 'xyz=1'
【问题讨论】:
我有一个这样的字符串:
abc=1&def=abc||abc=xyz&xyz=1
如何通过& 和|| 字符来分解它?
例如,在这种情况下,数组应该是
[0] => 'abc=1'
[1] => 'def=abc'
[2] => 'abc=xyz'
[3] => 'xyz=1'
【问题讨论】:
使用preg_split:
$str = 'abc=1&def=abc||abc=xyz&xyz=1';
$arr = preg_split('#(&|[\|]{2})#', $str);
var_dump($arr);
会产生
array
0 => string 'abc=1' (length=5)
1 => string 'def=abc' (length=7)
2 => string 'abc=xyz' (length=7)
3 => string 'xyz=1' (length=5)
【讨论】:
\|\| 或[|]{2}
preg_quote('|')产生\|,只是为了确定。
'#(&|\|\|)#'
parse_str(str_replace('||','&',$str),$arr);
【讨论】: