curl_escape
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_escape — 指定した文字列を URL エンコードする
説明
この関数は、指定した文字列を » RFC 3986 に従って 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);
?>
参考
- curl_unescape() - URL エンコードされた文字列をデコードする
- urlencode() - 文字列を URL エンコードする
- rawurlencode() - RFC 3986 に基づき URL エンコードを行う
- » RFC 3986
+add a note
User Contributed Notes 3 notes
Franois ¶
10 years ago
This function is strictly equivalent to rawurlencode().
Internally it uses curl_easy_escape() from libcurl, whose doc says: "This function converts the given input string to an URL encoded string (…). All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number)."
sam dot tyurenkov at gmail dot com ¶
4 years ago
Please someone add an example for escaping ampersands between parameters.
E.g. what is the correct approach for using this URL with curl:
https://example.com/?p1=1&p2=2&p3=3
This is not obvious, and needs explanation.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google