PhpDig.net

What is PhpDig?
PhpDig is a PHP MySQL based
Web Spider & Search Engine.




urlencode

Name

urlencode — URL-encodes a string, converting spaces into plus (+) signs.

Synopsis

string urlencode(data);
string data: String to be URL-encoded

Returns

URL-encoded string; FALSE if the argument passed has no length when converted to a string

Description

urlencode() makes a string safe to use as part of a URL. It does this by encoding every character within the string that may be misinterpreted by a transport agent (such as an email server) or interpreted as a URI delimiter - for example, the at sign (@), hash (#), and question mark (?) symbols. This includes every character except A-Z, a-z, 0-9, underscore (ASCII value 95), and hyphen (ASCII value 45). Every other character, including accented letters, is converted into a three-digit escape sequence that consists of a literal percent (%) sign, followed by the character's ASCII value represented as two hexadecimal digits. The only exception to this rule is the space character (ASCII value 32) - all spaces are converted into plus (+) signs. This conversion is done so that the encoded string will be compliant with legacy applications that expect spaces to have been converted into plus signs.

Version

PHP Version: 3+, 4+

See also

urldecode()

Example

Example 1372. Show how urlencode() encodes characters

<table>
<tr>
 <th>Character</th>
</tr>
<tr>
 <th>ASCII value<br />(Oct/Dec/Hex)</th>
</tr>
<tr>
 <th>URL-encoded value</th>
</tr>
<?php
for ($ord = 1; $ord < 256; ++$ord) {
    $chr = chr ($ord);
    printf ('<tr align="center"><td>%s</td><td>0%o / %d / 0x%X</td><td>%s</td></tr>',
        $chr, $ord, $ord, $ord, urlencode ($chr));
}
?>
</table>

Example 1373. Use a URL that contains reserved characters

// Sometimes a document on the web has a name that includes a naughty character like ? or #. 
// These characters (and others) have special meanings within a URL and may prevent clients
// from being able to access the document.
// Use urlencode to encode these naughty characters so you can get at the resource.

// A browser will look at the following URL and assume that you want to retrieve
// the resource called 'rough' and that you want to jump the named index '1.pdf'
$naughty_url = 'http://www.some.host.name.com/~graphic_designer_name/rough#1.pdf';

// The URL-encoded version escapes the hash (#) symbol that is preventing the browser from
// retrieving the right document.  When the request gets to the server, it should convert the
// escape sequences back into the proper character and then go fetch the right document.
$nice_url = urlencode ($naughty_url);



PHP Functions Essential Reference. Copyright © 2002 by New Riders Publishing (Authors: Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch). This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). The authors of this book have elected not to choose any options under the OPL. This online book was obtained from http://www.fooassociates.com/phpfer/ and is designed to provide information about the PHP programming language, focusing on PHP version 4.0.4 for the most part. The information is provided on an as-is basis, and no warranty or fitness is implied. All persons and entities shall have neither liability nor responsibility to any person or entity with respect to any loss or damage arising from the information contained in this book.

Powered by: vBulletin Version 3.0.7
Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Copyright © 2001 - 2005, ThinkDing LLC. All Rights Reserved.