rawurldecode
urldecode
URL Functions
PHP Manual

# rawurlencode

(PHP 4, PHP 5)

rawurlencode — URL-encode according to RFC 3986

### Description

string rawurlencode ( string `$str` )

Encodes the given string according to » RFC 3986.

### Parameters

`str`

  The URL to be encoded.

### Return Values

Returns a string in which all non-alphanumeric characters except -_.~ have been replaced with a percent (%) sign followed by two hex digits. This is the encoding described in » RFC 3986 for protecting literal characters from being interpreted as special URL delimiters, and for protecting URLs from being mangled by transmission media with character conversions (like some email systems).

> Note:

> Prior to PHP 5.3.0, rawurlencode encoded tildes (~) as per » RFC 1738.

### Changelog

Version | Description
--- | ---
5.3.4 | Tilde characters are no longer encoded when rawurlencode() is used with EBCDIC strings.
5.3.0 | Now conforms to » RFC 3986.

### Examples

Example #1 including a password in an FTP URL

`<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
'@ftp.example.com/x.txt">';
?>`

The above example will output:

    <a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

Or, if you pass information in a PATH_INFO component of the URL:

Example #2 rawurlencode() example 2

`<?php
echo '<a href="http://example.com/department_list_script/',
rawurlencode('sales and marketing/Miami'), '">';
?>`

The above example will output:

    <a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

### See Also

- rawurldecode() - Decode URL-encoded strings
- urldecode() - Decodes URL-encoded string
- urlencode() - URL-encodes string
- » RFC 3986

rawurldecode
urldecode
URL Functions
PHP Manual