如何在 PHP 中正确对字符串进行 URL 编码?

2023-12-26

我正在创建一个搜索页面,您可以在其中输入搜索查询并将表单提交到search.php?query=your query。哪个 PHP 函数是最好的,我应该使用它来编码/解码搜索查询?


对于 URI 查询值使用urlencode http://php.net/urlencode/urldecode http://php.net/urldecode;用于其他用途rawurlencode http://php.net/rawurlencode/rawurldecode http://php.net/rawurldecode.

要创建整个查询字符串,请使用http_build_query() https://php.net/http_build_query

和...之间的不同urlencode and rawurlencode is that

  • urlencode编码根据应用程序/x-www-form-urlencoded http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1(空间编码为+) while
  • rawurlencode根据明文编码百分比编码 https://www.rfc-editor.org/rfc/rfc3986#section-2.1(空间编码为%20).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中正确对字符串进行 URL 编码? 的相关文章

  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser
  • 替换多余的空格

    我需要从应用程序中的玩家用户名中删除多余的空格 字母之间不止一次空格 并将其替换为单个空格 我不介意用户有一个空格 但我需要删除彼此相邻的多个空格 目前我是这样实现的 replace array array fill array array
  • “空合并”(??) 运算符的用途是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 随着新的 PHP 版本 PHP 7 的发布 引入了新功能 这些新功能中有一个我不熟悉的操作符 这Nul
  • 我可以使用 WGET 生成给定 URL 的网站的站点地图吗?

    我需要一个可以抓取网站并以纯文本或类似格式返回所有已抓取页面的列表的脚本 我将把它作为站点地图提交给搜索引擎 我可以使用 WGET 生成网站的站点地图吗 或者有没有一个 PHP 脚本可以做同样的事情 wget spider recursiv
  • octobercms 任务调度不起作用

    我正在使用基于 Laravel 的 OctoberCMS 我没有 SSH 访问我的服务器的权限 每天我需要删除一些注册后 24 小时内未激活帐户的用户 所以我正在考虑使用任务调度 如 cronjobs 根据 10 月 CMSdocs htt
  • 什么时候适合在 PHP 中使用引用传递?

    在C 中 如果将一个大数组传递给函数 则需要通过引用传递它 这样它就不会被复制到新函数中浪费内存 如果您不想修改它 可以通过 const 引用传递它 任何人都可以验证通过引用传递也可以节省我在 PHP 中的内存吗 我知道 PHP 不像 C
  • phpspreadsheet setCellValue 未写入

    我正在上传一个 Excel 文件 读取内容并使用 phpspreadsheet 写入一个新的 Excel 文件 我正在尝试创建一个 Excel 文件 我正在使用以下代码写入单元格 writesheet gt setActiveSheetIn
  • Magento - 从观察者方法重定向客户

    在本次活动中checkout cart add product complete 我希望客户被重定向到外部网页http www example com 为此 我使用这段代码 它根本不起作用 public function moduleMet
  • PHP 计算字符串出现次数的最快方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 字符串 S 的前缀是 S 的任何前导连续部分 例如 c 和 cod 是字符串 codility 的前缀 为简单起见 我们要求前缀非空 字符串 S
  • php , simple_html_dom.php, 获取所选选项

    我有一个像这样的 html 块 localurl
  • 检查用户是否连接到 Facebook,然后检查他是否喜欢某个页面

    有没有什么方法可以检查用户是否在我的外部页面上连接到 Facebook 而不让他们允许我的应用程序之一 同样的问题也适用于 检查用户是否喜欢某个页面 我检查了大约 20 个问题和 3 4 个教程 似乎所有问题都在讨论内部脚本 粉丝页面 应用
  • php 注意到 $GLOBALS['HTTP_SERVER_VARS']['HTTP_HOST'] 中未定义索引 http_host

    突然 在最近的 php 版本更新后 我从 php 收到了此通知 它在多个地方使用 特别是我的 htmlMimeMail 类 代码是 mail gt setSMTPParams mail xxxx xxx 26 GLOBALS HTTP SE
  • PHP $_FILES 多个文件上传问题

    我在 PHP 中上传多个文件时遇到一个小问题 我有这个 html 表单
  • 使用 jquery 和 php 测试表单输入是否为 1 或 2 位整数

    我有一个表单 其中有五个字段全部设置为 maxlength 2 基本上 我希望唯一可以输入的值是一位或两位整数 因为在将值存储在数据库中之前对这些字段执行计算 是否有任何 jquery 不允许用户输入不是整数的值 另外 用 jquery 和
  • MySQL 的 TEXT 类型的 Oracle 等效项

    Oracle 是否有与 MySQL 等效的列类型TEXT type 如果不是 那么通常如何存储较大的文本块 BLOB varchar 32767 如果重要的话 它是通过 PHP 访问 Oracle 10 历史背景是非常受欢迎的 Oracle
  • 未找到 mysqli 类

    我用过mysqli连接到我的应用程序中的数据库 几天前一直运行良好 突然出现以下错误 致命错误 找不到类 mysqli 我用来连接数据库的行是 link new mysqli localhost uname password scripts
  • Laravel 5 Socialite - cURL 错误 77:设置证书验证位置时出错

    我正在 Laravel 5 中使用社交名流来设置 facebook 登录 我仔细按照说明进行操作 直到出现以下错误 cURL error 60 SSL certificate problem unable to get local issu
  • 正则表达式 - 匹配单词缩写

    我正在考虑提供以下正则表达式作为答案这个问题 https stackoverflow com questions 2110010 how to find wordpresss installed on domain or server pr
  • 在网络托管上发布后,php 会话无法正常工作

    我的网站在本地主机上运行良好 但是一旦我将其部署到我的托管服务 会话就会停止工作

随机推荐