在 PHP 之间获取字符串无法使其工作


get string between php cannot make it work

{"address":"18YtomFeRN8cu9h2pEBnpfNydAygpBhDug","label":"Fokke"}

如何使用 curl 和 get_string_between 在这里获取地址(我的意思是 18YtomFeRN8cu9h2pEBnpfNydAygpBhDug 地址(?

我正在使用以下代码:

function get_string_between($string, $start, $end)
{
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
}
$temp = curl_init($url);
$_SESSION['BTC_Address'] = get_string_between($temp, 'address":"', '"'); 

但它不起作用,我不知道为什么。

有问题的数据是 JSON,一种定义明确的数据格式。与其尝试手动解析它,不如使用 PHP 的内置json_decode函数:

$json = json_decode($temp, true);
echo $json['address']; // echoes '18YtomFeRN8cu9h2pEBnpfNydAygpBhDug'

true作为第二个参数传递以json_decode将 JSON 对象解码为 PHP 关联数组,这通常是您想要的。