将2个url图像拆分为一个


Split 2 url images to one

我有json数据,我解析的是什么。

{"response":[14516,{"id":310457,"from_id":-22759696,"to_id":-22759696,"date":1458731719,"post_type":"post","text":"Полиция Бельгии определила трех подозреваемых в теракте в аэропорту<br>.","attachment":{"type":"photo","photo":{"pid":405948296,"aid":-7,"owner_id":-22759696,"user_id":100,"src":"http:'/'/cs628628.vk.me'/v628628040'/41d81'/DciVVyiqqOU.jpg","src_big":"http:'/'/cs628628.vk.me'/v628628040'/41d82'/q2EumplfhhM.jpg","src_small":"http:'/'/cs628628.vk.me'/v628628040'/41d80'/zaETzTkDLUs.jpg","width":600,"height":340,"text":"Original: http:'/'/cdn15.img22.ria.ru'/images'/139461'/56'/1394615611.jpg","created":1458731718,"post_id":310457,"access_key":"62c1447c0497a750ce"}},"attachments":[{"type":"photo","photo":{"pid":405948296,"aid":-7,"owner_id":-22759696,"user_id":100,"src":"http:'/'/cs628628.vk.me'/v628628040'/41d81'/DciVVyiqqOU.jpg","src_big":"http:'/'/cs628628.vk.me'/v628628040'/41d82'/q2EumplfhhM.jpg","src_small":"http:'/'/cs628628.vk.me'/v628628040'/41d80'/zaETzTkDLUs.jpg","width":600,"height":340,"text":"Original: http:'/'/cdn15.img22.ria.ru'/images'/139461'/56'/1394615611.jpg","created":1458731718,"post_id":310457,"access_key":"62c1447c0497a750ce"}}],"comments":{"count":1},"likes":{"count":7},"reposts":{"count":0}}]}

我正在检索"src_big":"http://cs628628.vk.me/v628628040/41d82/q2EumplfhhM.jpg"例如。但是这个图像,不是在https://中,我需要通过一组规则转换为https。

http://cs629401.vk.me/v629401896/3e689/pT5Z5oukzIE.jpg
https://pp.vk.me/c629401/v629401896/3e689/pT5Z5oukzIE.jpg

你可以看到我有类似的"c629401",我需要更改

http://cs629401.vk.me/

https://pp.vk.me/c629401/

这个图像可以使用另一个链接,例如

http://cs628628.vk.me/v628628040/41d82/q2EumplfhhM.jpg
https://pp.vk.me/c628628/v628628040/41d82/q2EumplfhhM.jpg

使用preg_match的以下代码应该可以:

<?php
    $imgurl = "http://cs629401.vk.me/v629401896/3e689/pT5Z5oukzIE.jpg";
    $toremove = Array("s", "S");
    preg_match("#http://(.+)'.vk'.me/(.+)#", $imgurl, $matches);
    $simgurl = "https://pp.vk.me/" . str_replace($toremove, "", $matches[1]) . "/" . $matches[2];
    echo $simgurl . "'n";

https://pp.vk.me/c629401/v629401896/3e689/pT5Z5oukzIE.jpg


您可以将其封装在一个转换url的函数中:

<?php
function convertUrl($url)
{
    $toremove = Array("s", "S"); // Letters to remove from matches[1] group
    preg_match("#http://(.+)'.vk'.me/(.+)#", $url, $matches);
    return "https://pp.vk.me/" . str_replace($toremove, "", $matches[1]) . "/" . $matches[2];
}
echo convertUrl("http://cs629401.vk.me/v629401896/3e689/pT5Z5oukzIE.jpg") . "'n";

https://pp.vk.me/c629401/v629401896/3e689/pT5Z5oukzIE.jpg