这是银行返回的XML
<xml><appid><![CDATA[wx290ce4878c94369d]]></appid>
<charset><![CDATA[UTF-8]]></charset>
<mch_id><![CDATA[100570016329]]></mch_id>
<nonce_str><![CDATA[GserY5iXS3tIkzut]]></nonce_str>
<pay_info><![CDATA[
{"appId":"wx290ce4878c94369d",
"timeStamp":"1477504387539",
"status":"0",
"signType":"MD5",
"package":"prepay_id=wx20161027015307951c0ac1940487763525",
"callback_url":null,
"nonceStr":"1477504387539",
"paySign":"72F51451C249D5D1E1AF1C1E3FDB6A8E"}
]]></pay_info>
<result_code><![CDATA[0]]></result_code>
<sign><![CDATA[8210401F33ACB0B5B6D498A9A725E951]]></sign>
<sign_type><![CDATA[MD5]]></sign_type>
<status><![CDATA[0]]></status>
<token_id><![CDATA[9e665be8173132fd61bccd2e48961ecd]]></token_id>
<version><![CDATA[2.0]]></version>
</xml>
我想问问各位朋友,怎么获取pay_info下面的package,并echo出来。。。
一个简单暴力的方法是直接对这段文本当作字符串正则表达式取下
(?<=\"package\"\:\"prepay_id\=)[a-z0-9]+(?=\")
$str2 = (string)(simplexml_load_string($str)->pay_info);
var_dump($str2);
这样就可以取出来 $str 是你这个字符串 $str2 是解析出来的结果
$str2 = (string)(simplexml_load_string($str)->pay_info);
var_dump($str2);
这样就可以取出来 $str 是你这个字符串 $str2 是解析出来的结果
这个json 可以使用 json_decode() 可以解析出来