Difference: VarENCODE (9 vs. 10)

Revision 102018-07-14 - TWikiContributor

Line: 1 to 1
META TOPICPARENT name="TWikiVariables"

ENCODE{string} -- encode a string to URL entities, HTML entities, CSV format, and more

Line: 20 to 20
type="html" Encode special characters into HTML entities. In addition to type="entity", it also encodes space, \n and \r. Useful to encode text properly in HTML input fields. See equivalent ENTITY. type="url"
type="json" Escape double quotes and backslashes with backslashes (\" and \\, respectively), escape non-printable characters with hex code \u0000 ... \u001F, does not change other characters. Use this to properly escape text for a JSON string. Example result: This is a string with \"quoted\" and \\backslashed\\ text. type="url"
type="csv" Escape single quotes and double quotes by repeating them, other characters do not change. Use this to properly escape fields in CSV reports that output comma-separated values, such as "field 1","field 2 with ''single'' and ""double"" quotes". type="url"
type="search" Special encoding used for SEARCH: Substitute % characters into non-printable characters, so that TWikiVariables are no longer expanded. Also escapes quotes. Used to feed a search string from a URLPARAM into SEARCH without expanding any variables, such as when searching for %BR%. type="url"
newline="..." Replace a newline with the specified value before encoding.
Please note that newline="<br/>" does not bring <br/> to the output because < and > are encoded (except with the quotes and csv types). To have <br/> in the output, you need to specify newline="$br". However, newline="$br" does not work in combination with type="url" (the defautl type). This shouldn't be a problem because it's very rare to need to have <br/> encoded in a URL.
In addition to $br, $n has a special meaning in a newline parameter value - $n results in a newline in the output.
This parameter is expected to be used in combination with the moderate, safe, entity, or html type. With the other types, it causes unuseful results.
  • Examples:
    • %ENCODE{"spaced name"}% expands to spaced%20name
    • %ENCODE{"spaced name" type="entity" extra=" "}% expands to spaced&#32;name
  • Notes:
    • Values of HTML input fields should be encoded as "html". A shorter %ENTITY{any text}% can be used instead of the more verbose %ENCODE{ "any text" type="html" }%.
      Example: <input type="text" name="address" value="%ENTITY{any text}%" />
    • Double quotes in strings must be escaped when passed into other TWiki variables.
      Example: %SEARCH{ "%ENCODE{ "string with "quotes"" type="quotes" }%" noheader="on" }%
    • Double quotes in strings must be escaped when passed into other TWiki variables.
      Example: %SET{ "lunch" value="%ENCODE{ "string with "quotes"" type="quotes" }%" remember="1" }%
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.VarENCODE.