此函数与 rawurlencode() 完全相同。
内部使用 libcurl 中的 curl_easy_escape(),其文档指出:“此函数将给定的输入字符串转换为 URL 编码字符串(……)。所有不是 a-z、A-Z、0-9、'-', '.', '_' 或 '~' 的输入字符都将转换为其“URL 转义”版本(%NN,其中 NN 是两位十六进制数)。”
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_escape — 对给定字符串进行 URL 编码
handle
由 curl_init() 返回的 cURL句柄。
string
要编码的字符串。
返回转义后的字符串,或者在失败时返回 **false
**。
版本 | 描述 |
---|---|
8.0.0 |
handle 现在需要一个 CurlHandle 实例;以前需要一个 resource。 |
示例 #1 curl_escape() 示例
<?php
// 创建一个 cURL 句柄
$ch = curl_init();
// 转义用作 GET 参数的字符串
$location = curl_escape($ch, 'Hofbräuhaus / München');
// 结果: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen
// 使用转义后的字符串组合 URL
$url = "http://example.com/add_location.php?location={$location}";
// 结果: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen
// 发送 HTTP 请求并关闭句柄
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>
此函数与 rawurlencode() 完全相同。
内部使用 libcurl 中的 curl_easy_escape(),其文档指出:“此函数将给定的输入字符串转换为 URL 编码字符串(……)。所有不是 a-z、A-Z、0-9、'-', '.', '_' 或 '~' 的输入字符都将转换为其“URL 转义”版本(%NN,其中 NN 是两位十六进制数)。”
请有人添加一个用于转义参数之间和号的示例。
例如,使用 curl 的正确方法是什么
https://example.com/?p1=1&p2=2&p3=3
这并不明显,需要解释。