regex — PHP: удаление протокола из URL-адресов изображений API Instagram

Это фрагмент из 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 было бы идеально.

1

Решение

Зачем вам вообще нужно делать замену или регулярное выражение?

Если вы используете 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

Увидеть:

http://ideone.com/F0c4m9

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]