curl_escape

(PHP 5 >= 5.5.0, PHP 7)

curl_escape指定した文字列を URL エンコードする

説明

string curl_escape ( resource $ch , string $str )

この関数は、指定した文字列を » RFC 3986 に従って URL エンコードします。

パラメータ

ch

curl_init() が返す cURL ハンドル。

str

エンコードする文字列。

返り値

エスケープした文字列を返します。失敗した場合に FALSE を返します。

例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($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_exec($ch);
curl_close($ch);
?>

参考

add a note add a note

User Contributed Notes 2 notes

up
2
Franois
3 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)."
up
0
Nico
3 years ago
What is difference between this function and urlencode()?
To Top