<?php
/**
* 根据url生成 口令
*/
namespace App\Services;
class DyUrlJumpService
{
private $snssdk_url = 'snssdk1128://webview?url=';
private $start_url = 'https%3a%2f%2fso.toutiao.com%2fsearch%2fjump%3furl%3d';
private $end_url = '&zlink=https%3a%2f%2fdoujia.douyin.com';
private $join_start = 'ttcb'; //开始拼接符
private $join_end = '~'; //结束拼接符
public function __construct()
{
}
/**
* 根据url 生成 口令
* @param string $url
* @return bool|string
* @author:joniding
* @date:2020/10/13 15:57
*/
public function gennerate_url_code($url = '')
{
if($url=='' || empty($url)) return false;
if (!$this->is_url($url)) return false;
//编码url地址
$middle_url = urlencode($url);
$encode_url = $this->start_url.$middle_url.$this->end_url;
//base64 编码
$base64_url = base64_encode($this->snssdk_url.$encode_url);
//去除末尾两个 ==
$base64_url = str_replace('==','',$base64_url);
//拼接
$finish_url = $this->join_start.$base64_url.$this->join_end;
unset($middle_url,$encode_url,$base64_url);
return $finish_url;
}
/**
* 检测是否为url地址
* @param $url
* @return bool
* @author:joniding
* @date:2020/10/13 15:50
*/
private function is_url($url){
$pattern="#(http|https)://(.*\.)?.*\..*#i";
if(preg_match($pattern,$url)){
return true;
}else{
return false;
}
}
}