php处理带有中文URL的方法


Posted in PHP onJuly 11, 2016

本文实例讲述了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<=$len; $i++) {
    $uri .= $cs[$i] > 127 ? '%'.strtoupper(dechex($cs[$i])) : $url{$i-1};
  }
  return $uri;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP编程中八种常见的文件操作方式
Nov 19 PHP
mysql+php分页类(已测)
Mar 31 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
浅谈php冒泡排序
Dec 30 PHP
php base64 编码与解码实例代码
Mar 21 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP学习记录之数组函数
Jun 01 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 PHP
PHP实现JS中escape与unescape的方法
Jul 11 #PHP
php处理复杂xml数据示例
Jul 11 #PHP
php的debug相关函数用法示例
Jul 11 #PHP
php错误日志简单配置方法
Jul 11 #PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 #PHP
PHP封装的数据库保存session功能类
Jul 11 #PHP
php中array_column函数简单实现方法
Jul 11 #PHP
You might like
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
用php过滤危险html代码的函数
2008/07/22 PHP
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
python操作gmail实例
2015/01/14 Python
简单了解python模块概念
2018/01/11 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
python实现图书管理系统
2018/03/12 Python
python抓取网站的图片并下载到本地的方法
2018/05/22 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
个人授权委托书
2014/09/15 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
降价通知函
2015/04/23 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers