本文最后更新于2018年12月28日; 如遇到问题,请留言及时通知站长; 欢迎加入 三生三世,一起讨论各种问题!

说明

前段时间搭了哥php解析vip视频网站,里面大量http资源,需要替换到相应的https。一些资源配置类好解决,只要把源码里的http找到可以替代的https资源就好。但是,该解析所有图片都是http的,替换到https就遇到一些坑了。不过,最后解决了。

替换需求

http://p1.qhimg.com/d/dy_b69143672415c1424ec86beecbcc2b88.jpg这个链接替换成https://p1.ssl.qhimg.com/d/dy_b69143672415c1424ec86beecbcc2b88.jpg。而且,p1有时候是p2,也就是qhimg.com存在好几个子域名,大概有p1.phimg.comp2.phimg.com、...、p9.phimg.com。然后,ssl.qhimg.comp1.ssl.qhimg.comp1.ssl.qhimg.com、...、p5.ssl.qhimg.com

替换思路

利用str_replace去掉http链接前的http://,去掉p1p2、...、p9(若是p1,就去掉p1;其他类似)。然后,添加https://,添加p1p2、...、p5(随机添加一个,比如p1).最后,添加.ssl。如此,就可以转换成https形式。

替换过程

//去掉http://
    $v['img'] = str_replace("http://","",$v['img']);
//如果存在p0,就去掉;如果存在p1就去掉;以此类推。
    $v['img'] = str_replace("p0.","",$v['img']);
    $v['img'] = str_replace("p1.","",$v['img']);
    $v['img'] = str_replace("p2.","",$v['img']);
    $v['img'] = str_replace("p3.","",$v['img']);
    $v['img'] = str_replace("p4.","",$v['img']);
    $v['img'] = str_replace("p5.","",$v['img']);
    $v['img'] = str_replace("p6.","",$v['img']);
    $v['img'] = str_replace("p7.","",$v['img']);
    $v['img'] = str_replace("p8.","",$v['img']);
    $v['img'] = str_replace("p9.","",$v['img']);
//随机生成0到5的数字
    $num = rand(0,5);
//链接重新生成
    https://p'.$num.'.ssl.'.$v['img'].'

后续

最后搭建了全站httpsphp解析站,然后发现了个更好的源码,直接就不用这个源码了。不能白白修改源码,所以在这里记录下。顺便说一下,黑冰影视的账号:black1ce.com,密码:yuexia