0

我正在编写一个脚本来读取交易完成后支付网关给出的响应。 http://docs.merchee.com/api/push-notifications/index.html

我得到的示例数据是

$received_values = "
    status_code PAID
    subtotal 10
    success_redirect http://site.com/thanks
    tax_total 0
    total_price 10
    transaction_amount 10
    transaction_date 07/24/2012
    transaction_nmb 101888
    transaction_time 12:43:52
    zip 12345 
";

我正在专门寻找线条transaction_nmbstatus_code.

我在想我会做这样的事情:

$received_values = (array) stripslashes_deep( $_POST );

但是我坚持我应该如何去确认它.. in_array

谢谢你。

4

2 回答 2

0

因为它看起来像 $received_values 是一个换行符分隔的字符串,也许你可以使用这个正则表达式(未经测试)来获取值?

preg_match_all('/status_code\s(\w+).+transaction_nmb\s(\d+)/',$received_values, $matches);
// PAID should be in $matches[1]
// 101888 should be in $matches[2]
于 2012-07-24T18:34:03.327 回答
0

按换行符爆炸(爆炸不是最有效的,但会有所帮助。

$array = explode('\n', $received_values);

这将为您提供每一行一个数组。

$array[0] //status_code PAID

然后,您可以通过再次拆分或使用 php 解析函数之一来寻找答案。

于 2012-07-24T18:37:18.773 回答