替换PHP中返回的报头位置中的字符



我试图过滤使用下面的PHP代码POST后返回的头部位置。返回的标题位置是进一步处理支付状态和在数据库中保存状态所必需的。API提供商似乎不支持,因为他们不及时回复或根本不回复。

$output = curl_exec($curl);
$lines = explode("n",$output);
$out = array();
$headers = true;
foreach ($lines as $l){
$l = trim($l);
if ($headers && !empty($l)){
if (strpos($l,'location') !== false){
$p = explode(' ',$l);
$out['Headers']['location'] = trim($p[1]);
$url = json_encode($out['Headers']['location']);
echo json_encode($out['Headers']['location']);
} 
} 
} 

回显如下:—"https://sandbox.kopokopo.com/api/v1/payments/c122c1d2-8e07-48d3-8c9d-597829447fda"如何使输出成为没有""的有效url ?? 我将非常感谢你的宝贵帮助。

您的json_encode调用通过转义/值导致问题。

演示:https://3v4l.org/S3VWD

没有必要像这样编码一个字符串。当你想以结构化的方式输出一组更复杂的信息(例如多个独立的数据项)时,JSON主要是有用的。

echo $out['Headers']['location'];

在这种情况下,是你所需要的。

最新更新