php外部链接代码怎么转换base64位代码
PHP中文网
PHP中文网 2017-04-11 09:40:51
[PHP讨论组]

这是一个减少外链的代码
就是将外部链接http://www.baidu.com转换成https://segmentfault.com/go/?...
如何将外部链接http://www.baidu.com替换为base64位加密的代码
代码如下:

$t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]); //这个支持
if(!empty($t_url)) {
    preg_match('/(http|https):\/\//',$t_url,$matches);
    if($matches){
        $url=$t_url;
        $title='页面加载中,请稍候...';
    } else {
        preg_match('/\./i',$t_url,$matche);
        if($matche){
            $url='http://'.$t_url;
            $title='页面加载中,请稍候...';
        } else {
            $url='http://www.baidu.com/';
            $title='参数错误,正在返回首页...';
        }
    }
} else {
    $title='参数缺失,正在返回首页...';
    $url='http://www.baidu.com/';
}
?>
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
PHP中文网

不明白你的意思,你要是指跳转的话,用302重定向就行。

header('Location: http://example.com');

就会跳转到http://example.com,要确保header前后的代码不会输出任何内容。

如果你要展示一个提示页面,就在页面中执行JavaScript代码跳转就行。

location.href='http://example.com';
伊谢尔伦

在最外层if下面用php的base64加密即可 因为里面不管是哪个if判断 都是为了把需要跳转的url取出来 如果没有就设置跳转百度

阿神
$encodedUrl = base64_encode($url);
大家讲道理

您的意思是加密您的uri对吧,给用户看的是加密的链接,服务器带个解密是把?
base64_encode — 使用 MIME base64 对数据进行编码
base64_decode — 对使用 MIME base64 编码的数据进行解码


<?php

/**
 * base_64 test
 * @author  shaowei pu
 */
$uri = 'http://www.baidu.com';
// 能还原$uri 的
// 总感觉楼主应该不是问的这个吧
echo base64_decode( base64_encode($uri) );
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号