Difference between revisions of "LlEscapeURL"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 4: Line 4:
|func_footnote=To clarify, numbers and ASCII7 alphabetical characters are NOT escaped. If a character requires more then one byte in UTF-8 byte form then it returns multiple %xx sequences chained together.
|func_footnote=To clarify, numbers and ASCII7 alphabetical characters are NOT escaped. If a character requires more then one byte in UTF-8 byte form then it returns multiple %xx sequences chained together.
|func_desc
|func_desc
|return_text=that is the escaped/encoded version of '''url''', replacing spaces with ''%20'' etc. The function will escape any character not in {a-z, A-Z, 0-9} to ''%xx'' where "xx" is the hexadecimal value of the character in UTF-8 byte form.
|return_text=that is the escaped/encoded version of {{LSLPT|url}}, replacing spaces with ''%20'' etc. The function will escape any character not in {a-z, A-Z, 0-9} to ''%xx'' where "xx" is the hexadecimal value of the character in UTF-8 byte form.
|spec
|spec
|other_languages={{LSL OL|PHP|[http://php.net/manual/en/function.rawurlencode.php rawurlencode]}}{{LSL OL|{{HoverText|ECMAScript|JavaScript, ActionScript, etc}}|[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent encodeURIComponent]}}
|other_languages={{LSL OL|PHP|[http://php.net/manual/en/function.rawurlencode.php rawurlencode]}}{{LSL OL|{{HoverText|ECMAScript|JavaScript, ActionScript, etc}}|[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent encodeURIComponent]}}

Revision as of 19:26, 23 January 2014

Summary

Function: string llEscapeURL( string url );
0.0 Forced Delay
10.0 Energy

Returns a string that is the escaped/encoded version of url, replacing spaces with %20 etc. The function will escape any character not in {a-z, A-Z, 0-9} to %xx where "xx" is the hexadecimal value of the character in UTF-8 byte form.

• string url

To clarify, numbers and ASCII7 alphabetical characters are NOT escaped. If a character requires more then one byte in UTF-8 byte form then it returns multiple %xx sequences chained together.

This function is similar to functions (e.g. rawurlencode, encodeURIComponent) found in many other languages: 
PHP
rawurlencode
ECMAScript
encodeURIComponent

Caveats

  • The function is not appropriate for escaping a URL all at once, because the ':' after the protocol, and all of the '/' characters delimiting the various parts, will be escaped. Instead, build the URL in parts; escaping parts of the path and query string arguments as needed.

Examples

<lsl> // Provides a clickable link to the LSL Portal by escaping the space in the title // "LSL Portal" here becomes "LSL%20Portal"

string title = "LSL Portal";

default {

   state_entry()
   {
       llOwnerSay("http://wiki.secondlife.com/wiki/" + llEscapeURL(title));
   }

}

</lsl>

See Also

Functions

• llUnescapeURL

Articles

• UTF-8
• Base64

Deep Notes

History

  • Prior to SL versions 1.19.1.81992, this function was limited to returning a maximum of 254 characters. SVC-470

Signature

function string llEscapeURL( string url );