Kal*_*ran 2 php regex url paypal
我正在使用Paypal Payflow进行付款,现在我在提取Paypal响应时遇到问题。
Paypal回复以如下格式发送
RESULT=0&RESPMSG=Approved&SECURETOKEN[25]=Fj+1AFUWft0+I0CUFOKh5WA== &SECURETOKENID=9a9ea8208de1413abc3d60c86cb1f4c5
Run Code Online (Sandbox Code Playgroud)
方括号内的值[]是实际值的长度。例如,SECURETOKEN是一个参数,其值为'Fj + 1AFUWft0 + I0CUFOKh5WA =='。长度为25个字符。
如何从PHP的结果中提取每个参数及其对应的值。我对regex不太满意,无法在线找到任何解决方案。
在这种情况下,使用&和分割=不起作用。
该字符串看起来像一个url,因此使用了简单的方法[parse_str()][1],它将给定的字符串转换为“格式正确”的数组。
重要的是,函数的返回值将存储在第二个参数中($keys在此示例中)。
$str = 'RESULT=0&RESPMSG=Approved&SECURETOKEN[25]=Fj+1AFUWft0+I0CUFOKh5WA== &SECURETOKENID=9a9ea8208de1413abc3d60c86cb1f4c5';
parse_str($str, $keys);
print_r($keys);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[RESULT] => 0
[RESPMSG] => Approved
[SECURETOKEN] => Array
(
[25] => Fj 1AFUWft0 I0CUFOKh5WA==
)
[SECURETOKENID] => 9a9ea8208de1413abc3d60c86cb1f4c5
)
Run Code Online (Sandbox Code Playgroud)