找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1557|回复: 0
打印 上一主题 下一主题

php处理带有中文URL的方法

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:34:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了php处理带有中文URL的方法。分享给大家供大家参考,具体如下:
ie6超链接有中文的时候会有问题,万恶的ie6啊.PHP使内置的urlencode函数也不行,urlencode把斜杠等ascii码字符也给编码了,还是不能解决问题,使用下面的函数可以解决这个问题.
原理很简单,就是把所有byte大于127的byte转换为16进制.
中文超链接地址
// utf-8编码
$url = 'http://ftp.dotcoo.com/PHP视频教程.rar';
//urlencode结果:
echo urlencode($url);
http%3A%2F%2Fftp1.zdy.co%2Fmovie%2F%E6%88%91%E4%B8%BA%E7%9B%B8%E4%BA%B2%E7%8B%82.rmvb
//link_urldecode结果:
echo link_urldecode($url);
http://ftp1.zdy.co/movie/%E6%88%91%E4%B8%BA%E7%9B%B8%E4%BA%B2%E7%8B%82.rmvb
//link_urldecode函数:
function link_urldecode($url) {
  $uri = '';
  $cs = unpack('C*', $url);
  $len = count($cs);
  for ($i=1; $i 127 ? '%'.strtoupper(dechex($cs[$i])) : $url{$i-1};
  }
  return $uri;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总
希望本文所述对大家PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php url地址栏传中文乱码解决方法集合
  • PHP中文URL编解码(urlencode()rawurlencode()
  • php下目前为目最全的CURL中文说明
  • PHP fopen 读取带中文URL地址的一点见解
  • php中url传递中文字符,特殊危险字符的解决方法
  • PHP解决URL中文GBK乱码问题的两种方法
  • php中解析带中文字符的url函数分享
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端