urlencodeDescriptionurlencode() 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. ExampleExample 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.
|