首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在PHP中使用encodeURI()?

在PHP中使用encodeURI()?
EN

Stack Overflow用户
提问于 2011-02-08 04:36:07
回答 2查看 24.3K关注 0票数 21

在PHP中有没有一些encodeURI()函数没有编码:~!@#$&*()=:/,;?+'

EN

回答 2

Stack Overflow用户

发布于 2011-05-19 13:02:29

我现在正在用这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function encodeURI($url) {
    // http://php.net/manual/en/function.rawurlencode.php
    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURI
    $unescaped = array(
        '%2D'=>'-','%5F'=>'_','%2E'=>'.','%21'=>'!', '%7E'=>'~',
        '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')'
    );
    $reserved = array(
        '%3B'=>';','%2C'=>',','%2F'=>'/','%3F'=>'?','%3A'=>':',
        '%40'=>'@','%26'=>'&','%3D'=>'=','%2B'=>'+','%24'=>'$'
    );
    $score = array(
        '%23'=>'#'
    );
    return strtr(rawurlencode($url), array_merge($reserved,$unescaped,$score));

}

它基本上对所有东西进行原始编码,然后解码一些东西(正如Zanlok在他的评论中所建议的那样)。这应该符合encodeURI的Mozilla规范。

在MDN后面,“如果希望遵循URL的最新RFC3986”,则添加

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function fixedEncodeURI($url) {
    return strtr(encodeURI($url),array('%5B'=>'[', '%5D'=>']'));
}
票数 31
EN

Stack Overflow用户

发布于 2013-11-08 11:48:07

这是一个基于ECMA-262 spec的替代版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function encodeURI($uri)
{
    return preg_replace_callback("{[^0-9a-z_.!~*'();,/?:@&=+$#-]}i", function ($m) {
        return sprintf('%%%02X', ord($m[0]));
    }, $uri);
}
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4929584

复制
相关文章
JS中encodeURI,escape,encodeURIComponent区别
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1
I Teach You 我教你
2018/01/02
2.7K0
goto语法在PHP中的使用
在C++、Java及很多语言中,都存在着一个神奇的语法,就是goto。顾名思义,它的使用是直接去到某个地方。从来代码的角度来说,也就是直接跳转到指定的地方。我们的PHP中也有这个功能,我们先来看看它是如何使用的:
硬核项目经理
2020/01/02
2.7K0
trait能力在PHP中的使用
相信大家对trait已经不陌生了,早在5.4时,trait就已经出现在了PHP的新特性中。当然,本身trait也是特性的意思,但这个特性的主要能力就是为了代码的复用。
硬核项目经理
2020/03/12
1.9K0
使用encodeURI出现URI malformed报错?
今天在一个业务模块中遇到一个问题。在点击导出后出现了 URI malformed 报错提示。
执行上下文
2023/07/24
1.8K0
使用encodeURI出现URI malformed报错?
Redis 在PHP中的使用笔记
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/79403675
泥豆芽儿 MT
2018/09/11
9900
Redis 在PHP中的使用笔记
[MongoDB] 使用PHP在MongoDB中搜索的实现
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。 MongoDB中条件操作符有: (>) 大于 - $gt (<) 小于 - $lt (>=) 大于等于 - $gte (<= ) 小于等于 - $lte MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式,使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。 MongoDB OR 条件语句使用了关键字 $or
唯一Chat
2020/02/25
5.2K0
在PHP中,cookie和session的使用
cookie简介 Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据。一般情况下,Cookie通过HTTP headers从服务端返回到客户端。多数web程序都支持Cookie的操作,因为Cookie是存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制。 PHP工作原理:PHP通过setcookie函数进行Cookie的设置,任何从浏览器发回的Cookie,PHP都会自动的将他存储在$_COOKIE的全局变量之中,因此我们可以通
思梦php
2018/03/09
4K0
在PHP中,cookie和session的使用
escape,encodeURI,encodeURIComponent
escape,encodeURI,encodeURIComponent这三个方法都是对URL进行编码的。
前端GoGoGo
2018/08/27
8190
escape,encodeURI,encodeURIComponent
php类似于javascript encodeURI和decodeURI解码的方法
<script language="javascript"> var a = encodeURI("电影"); alert(a); var b = decodeURI(a); alert(b) </script>
战神伽罗
2019/07/24
1.2K0
在PHP中strpos函数的正确使用方式
首先简单介绍下 strpos 函数,strpos 函数是查找某个字符在字符串中的位置,这里需要明确这个函数的作用,这个函数得到的是位置。 如果存在,返回数字,否则返回的是 false。 而很多时候我们拿这个函数用来判断字符串中是否存在某个字符,一些同学使用的姿势是这样的 // 判断‘沈唁志博客’中是否存在‘博客’这个词 if (strpos('沈唁志博客', '博客')) { // 如果存在执行此处代码 echo '存在'; }else{ // 如果不存在执行此处代码 e
沈唁
2018/05/24
5.2K0
final关键字在PHP中的使用
final关键字的使用非常简单,在PHP中的最主要作用是定义不可重写的方法。什么叫不可重写的方法呢?就是子类继承后也不能重新再定义这个同名的方法。
硬核项目经理
2020/02/26
2.3K0
RabbitMQ在php中的使用----发布与订阅
安装教程 rabbitmq和php的amqp扩展教程网上有很多,大家可以自行查询,例如:Linux系统安装RabbitMQ及PHP安装amqp拓展库详细教程
美团骑手
2021/01/18
2K0
工具系列 | Casbin在PHP中的使用教程
Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。
Tinywan
2023/03/08
1.7K0
工具系列 | Casbin在PHP中的使用教程
在php中使用redis
说这么多就是为了表明,大部分情况下,redis是可以满足我们对于缓存的要求的。下面来说如何在php项目中使用redis作为缓存引擎。
ianzhi
2019/07/31
6460
在PHP中灵活使用foreach+list处理多维数组
先抛出问题,有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如:
硬核项目经理
2020/01/02
3.6K0
php JWT在web端中的使用方法教程
JWT就是一个字符串,经过加密处理与校验处理的字符串,由三个部分组成。基于token的身份验证可以替代传统的cookie+session身份验证方法。三个部分分别如下:
用户2323866
2021/07/13
1.9K0
在PHP中如何使用全局变量的方法详解
简介 即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有:程序设定类、数据库连接类、用户资料等等。有很多方法能够使这些数据成为全局数据,其中最常用的就是使用“global”关键字申明,稍后在文章中我们会具体的讲解到。 使用“global”关键字来申明全局数据的唯一缺点就是它事实上是一种非常差的编程方式,而且经常在其后导致程序中出现更大的问题,因为全局数据把你代码中原本单独的代码段都联系在一起了,这样的后果就是如果你改变其中的某一部
企鹅号小编
2018/02/08
7.3K0
在 HTML 中嵌入 PHP 代码
PHP 天生对 Web 和 HTML 友好,在 PHP 诞生之初,主要用于在 Web 1.0 中构建个人主页,那个时候,PHP 代表的是 Personal Home Page,随着 Web 互联网的发展,在 Web 2.0 时代,PHP 进一步进化为 PHP:Hypertext Preprocessor,即超文本处理器,而 HTML 则是 HyperText Markup Language 的缩写,也就是超文本标记语言。
学院君
2020/05/28
6.3K0
PHP函数uasort()在类中的使用问题解决
今天在类中使用 uasort() 函数时发现报了错误:Warning: uasort() expects parameter 2 to be a valid callback ..., 然而直接在纯
zcqshine
2018/05/11
3.7K0
点击加载更多

相似问题

在JavaScript中,为什么要使用encodeURI/encodeURI组件?

14

单引号JS encodeuri与PHP rawurlencode

18

应该使用encodeURI吗?

21

EncodeUri在JavaScript中的作用

10

javascript encodeURI()输出

215
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文