PHP urlencode()函数

PHP urlencode()函数

“urlencode()”是PHP中默认提供的函数之一。该函数用于对URL进行编码。它的工作原理并不像看起来那样复杂。相反,它非常容易理解,因为它的输出(或结果)是一个包含除了(-_.)之外的所有非字母数字字符的字符串。这些字符会被替换为百分号(%)后跟两个十六进制数字。为了更清楚地理解它,让我们详细看一下它的语法:

语法

string urlencode( $input )

参数:

如上述语法中所示,此函数仅接受一个参数”$input”,用于保存您要编码的实际URL。

返回值(或输出):

此函数在成功时返回一个已编码的字符串。因此,编码或结果字符串包含除了“-_.”之外的所有非字母数字字符,这些字符被“%”符号替换,并后跟两个十六进制数字,如上面讨论的那样。该函数以与从www表单(或表单模板)发布的数据编码相同的方式对URL进行编码。

在这里我们一直在讨论URL编码,但是如果您对URL一无所知,那么如果我们对URL进行一些基本讨论,那将是很好的。

URL(统一资源定位符)

URL是统一资源定位符的缩写。它可以被理解为互联网上可用的特定文件或文档(网页)的地址。为了更详细地理解这一点,考虑以下示例:

示例:

JAVATPOINT的URL是https://www.javatpoint.com/,而这个页面的地址是https://www.javatpoint.com/PHP/Urlen()。此URL地址中使用的元素如下所示:

1. URL的前缀部分”http://”通常指定访问位置使用的协议。除此之外还有许多其他URL前缀,包括以下几种:

  1. http - 这是一个常见的网页或网站目录,可以通过HTTP访问。
  2. FTP - 它代表文件传输协议,通常用于从FTP服务器下载文件。
  3. mailto - 一个电子邮件地址(经常用于将浏览器重定向到电子邮件客户端)
  4. file - 位于本地存储设备上的文件(虽然在技术上不是URL,因为它不引用基于互联网的位置)

2. “www.”代表 __ 万维网 ,用于区分内容。这部分URL通常不是必需的,很多时候可以省略或忽略。

例如,键入” http://javatpoint.com “也可以让您进入 javatpoint 网站。

3.”javatpoint.com”部分被视为该网站的域名,域名的最后部分(或结束部分)被称为域名的后缀(TLD)。通常,它有助于指定网站在互联网上的类型或位置。为了更详细地理解这一点,考虑以下示例:

示例

像“javatpoint.com”这样的网站,域名后缀是“.com”,表示商业用途。还有许多其他域名后缀可用,比如“.org”表示组织,“co.uk”用于英国,可以根据需要使用。要拥有一个域名,您可以通过域名注册局注册该名称。

4. “PHP”和”urlen()”是 目录 网页 所在的服务器位置,此处给出的网页在两个目录深处。在大多数服务器中,public_html目录是包含HTML文件的默认目录。

您也可以通过在网页浏览器的地址栏(或搜索框)中键入地址来手动输入URL。

例如,您可能输入打印在名片上的网站URL以访问公司的网站。但是,当您单击 rel=”nofollow” target=”_blank”>链接 或打开 书签 时,大多数URL会自动显示。

如果URL中的服务器名称无效或该网站不再可用,在这种情况下,您的浏览器可能会显示“服务器未找到”错误。如果URL中的路径不正确,则服务器可能会以 404错误 (表示路径不正确)做出响应。

urlencode()函数确切是什么功能

它基本上执行URL编码,在其中,所有字符串或多个字符组合。根据一些预定义规则,特殊字符会被转换为特定格式。以便这些转换或编码的URL字符串可以使用 ASCII字符集 通过Internet进行传输。

然而,URL通常包含ASCII集以外的字符,因此URL必须转换为有效的ASCII格式。通常,URL编码将不安全的ASCII字符替换为“%”后跟两个十六进制数字,如前面所讨论的。此外,URL不能包含空格。因此,urlencode()函数通常将空格替换为加号(+)符号或%20。为了理解它,让我们看一些示例:

程序1:

<!DOCTYPE html>
<html>
<body>

<?php

// PHP program to illustrate urlencode function
echo urlencode("https://www.javatpoint.com/") . "\n";

?>

</body>
</html>

输出:

https%3A%2F%2Fwww.javatpoint.com%2F

程序2

<!DOCTYPE html>
<html>
<body>

<?php

// PHP program to illustrate urlencode function
echo urlencode("https://www.javatpoint.com/");
echo urlencode("https://www.javatpoint.com/php-tutorial");
echo urlencode("https://www.javatpoint.com/C++ tutorial");
echo urlencode("https://www.javatpoint.com/javascript tutorial");

?>

</body>
</html>

输出:

https%3A%2F%2Fwww.javatpoint.com%2F
https%3A%2F%2Fwww.javatpoint.com%2Fphp-tutorial
https%3A%2F%2Fwww.javatpoint.com%2FC%2B%2B+tutorial
https%3A%2F%2Fwww.javatpoint.com%2Fjavascript+tutorial

关于urlencode()函数的一些重要观点

  • 如果变量可能与HTML实体匹配,请小心。浏览器解析类似&amp、&copy和&pound的内容,实际实体会被使用,而不是所需的变量名称。
  • urlencode()函数非常方便,可以编码字符串,以便在URL的查询部分中使用,这样可以更容易地将重要变量传递给下一页。
  • 在其他语言如JavaScript和ASP中,也有提供编码URL的函数。然而,像其他不同语言提供的urlencode()函数也是根据相同基本原则工作的。

例如 –

PHP中有urlencode()函数,JavaScript中可以使用encodeURIcomponent()函数来编码URL,ASP中使用Server.URLEncode()函数。

注意:JavaScript函数将空格编码为%20。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程