2017-09-16 38 views
1

我没有尝试,但无法找到或计算出的正则表达式如下PHP preg_split。无法找到或弄清楚前此

在PHP工作需要使preg_split工作

{password=123456, telephone=9452979342}/{Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf} 

我要的是此字符串分割成阵列是这样的:在由 '/'

  1. 拆分中间

    [0] => {password=123456, telephone=9452979342} 
    
    [2] => {Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf} 
    
  2. 之间
  3. 选择{*}

    [0] => password=123456, telephone=9452979342 
    
    [2] => Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf 
    
+2

哪里是你的代码? – Toto

回答

0

按你的方式,你可以试试以下方法也是

$re = '/\}\/\{/m'; 
$str = '{password=123456, telephone=9452979342}/{Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf}'; 
$arr=preg_split($re,$str); 
$cnt=0; 
foreach($arr as $values) 
$arr[$cnt++]=preg_replace('/[{}]/','',$values); 
print_r($arr); 

run here

+0

这个人做了这项工作。 :) Thankx –

0

这就是你想要的东西:

$str = "{password=123456, telephone=9452979342}/{Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf}"; 
preg_match('~\{(.+?)\}/\{(.+?)\}~', $str, $matches); 
print_r($matches); 

输出:

Array 
(
    [0] => {password=123456, telephone=9452979342}/{Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf} 
    [1] => password=123456, telephone=9452979342 
    [2] => Accept=application/json, Authorization=Bearer kadaljdlkadjsdaskdjaskdasdf 
) 
+0

看起来是正确的,就像我想要的,但你可以做到这一点,所以它只输出ele 1和2不需要ele 1 –

+0

@JaspreetSingh:元素'0'代表整个比赛,它总是存在。你可以做一个'array_shift'来将它从数组中移除。 – Toto