Это фрагмент из Instagram JSON:
"images":{
"standard_resolution":
{ "url":"http:\/\/scontent-a.cdninstagram.com\/hphotos-xfa1\/t51.2885-15\/10593467_370803786404217_1595289732_n.jpg","width":640,"height":640}
}
Я хотел бы снять протокол с ['images']['standard_resolution']['url']
, Я пробовал с:
.parse_url($value['images']['standard_resolution']['url'], PHP_URL_HOST) . parse_url($value['images']['standard_resolution']['url'], PHP_URL_PATH).
Но ничего не делает! Я думаю, что это связано с /
экранирование сделано в JSON (http:\/\/
). Потому что если я попробую
.parse_url("http://www.google.com", PHP_URL_HOST) . parse_url("http://www.google.com", PHP_URL_PATH).
.. это просто отлично работает. Я бы хотел, чтобы все было легко … и не используйте регулярные выражения. parse_url
было бы идеально.
Зачем вам вообще нужно делать замену или регулярное выражение?
Если вы используете json_decode
сбежавшие косые черты не избежали.
Так что делаю так:
<?php
$foo = '{"images":{"standard_resolution":{"url":"http:\/\/scontent-a.cdninstagram.com\/hphotos-xfa1\/t51.2885-15\/10593467_370803786404217_1595289732_n.jpg","width":640,"height":640}}}';
$bar = json_decode($foo, true);
$baz =
parse_url($bar['images']['standard_resolution']['url'], PHP_URL_HOST) .
parse_url($bar['images']['standard_resolution']['url'], PHP_URL_PATH);
echo $baz;
Будет вывод:
scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10593467_370803786404217_1595289732_n.jpg
Увидеть:
Других решений пока нет …