получаю при помощи file_get_contents() вот такое дело
{"tunnels":[{"name":"command_line","uri":"/api/tunnels/command_line","public_url":"https://r923q2es.ngrok.io","proto":"https", ..
Как мне взять отсюда public_url?
Декодируйте json в (к примеру) объект, и обращайтесь к его свойствам следующим образом:
$json = '{"tunnels":[{"name":"command_line","uri":"/api/tunnels/command_line","public_url":"https://r923q2es.ngrok.io","proto":"https"}]}';
$obj = json_decode($json);
echo $obj->tunnels[0]->public_url; // https://r923q2es.ngrok.io
Если нужно получить значений больше одного, тогда пройдитесь циклом по объекту:
foreach ($obj->tunnels as $item) {
echo $item->public_url . "\n";
}
В дополнение к ответу Эдуарда - чтобы json_decode возвращал массив а не объект добавьте вторым параметром true
$tunnels = json_decode($json, true);
echo $tunnels[0]['public_url'];
И да, это не XML )
Продвижение своими сайтами как стратегия роста и независимости