urlencode 编码 URL 字符串
发表日期:2021-07-01 08:56:31 | 来源: | | 浏览(1015) 分类:URL 函数
urlencode
(PHP 4, PHP 5, PHP 7, PHP 8)
urlencode — 编码 URL 字符串
说明
$str
): string此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。
参数
-
str
-
要编码的字符串。
返回值
返回字符串,此字符串中除了
-_.
之外的所有非字母数字字符都将被替换成百分号(%
)后跟两位十六进制数,空格则编码为加号(+
)。此编码与 WWW
表单 POST 数据的编码方式是一样的,同时与
application/x-www-form-urlencoded
的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与
» RFC3986 编码(参见
rawurlencode())不同。
范例
示例 #1 urlencode() 例子
<?php echo '<a href="mycgi?foo=', urlencode($userinput), '">'; ?>
示例 #2 urlencode() 与 htmlentities() 例子
<?php $query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar); echo '<a href="mycgi?' . htmlentities($query_string) . '">'; ?>
注释
注意:
注意:小心与 HTML 实体相匹配的变量。像 &、© 和 £ 都将被浏览器解析,并使用实际实体替代所期待的变量名。这是明显的混乱,W3C 已经告诫人们好几年了。参考地址:» http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2。
PHP 通过 arg_separator.ini 指令,支持将参数分割符变成 W3C 所建议的分号。不幸的是大多数用户代理并不发送分号分隔符格式的表单数据。较为简单的解决办法是使用 & 代替 & 作为分隔符。你不需要为此修改 PHP 的 arg_separator。让它仍为 &,而仅使用 htmlentities() 或 htmlspecialchars() 对你的 URL 进行编码。
参见
- urldecode() - 解码已编码的 URL 字符串
- htmlentities() - 将字符转换为 HTML 转义字符
- rawurlencode() - 按照 RFC 3986 对 URL 进行编码
- rawurldecode() - 对已编码的 URL 字符串进行解码
- » RFC 3986
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- base64_decode 对使用 MIME base64 编码的数据进行解码(0)
- base64_encode 使用 MIME base64 对数据进行编码(0)
- get_headers 取得服务器响应一个 HTTP 请求所发送的所有标头(0)
- get_meta_tags 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组(0)
- http_build_query 生成 URL-encode 之后的请求字符串(0)
- parse_url 解析 URL,返回其组成部分(0)
- rawurldecode 对已编码的 URL 字符串进行解码(0)
- rawurlencode 按照 RFC 3986 对 URL 进行编码(0)
- urldecode 解码已编码的 URL 字符串(0)
- urlencode 编码 URL 字符串(0)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)