如何阅读POST响应并查找详细信息

时间:2012-07-24 18:24:56

标签: php

我正在编写一个脚本来读取事务完成后从支付网关给出的响应。 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

谢谢。

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

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

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

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

$array[0] //status_code PAID

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