Module:DecodeEncode/doc
Appearance
| This is a documentation subpage for Module:DecodeEncode. It may contain usage information, categories and other content that is not part of the original module page. |
| This module is rated as pre-alpha. It is incomplete and may or may not be in active development. Do not use it in article namespace pages. A module remains in pre-alpha until its developer, or another editor who adopts it if it is abandoned for some time, considers the basic structure complete. |
Implements mw.text.decode, mw.text.encode
See List of XML and HTML character entity references.
{{#invoke:decode|s=Source text}}→Source text
Decode
- Decodes Named Entities from entity name into a regular (unicode) character:
>-->>©-->©
All welldefined named entities are decoded (HTML Named character references, formally: as defined in the PHP table).
- A regular, rendered sentence:
- "At 100 °F, & with a "burning" sun above, we walked"
- In code:
- "
At 100 °F, & with a "burning" sun above, we walked"-- in code
- "
- Processing:
{{invoke:TextEntity|decode|s=At 100 °F, & with a "burning" sun above, we walked}}→Script error: No such module "TextEntity".-- In code: no named entities
Decode a reduced set only
By setting |subset_only=true, only these five entity names are decoded: '<', '>', '&', '"', ' ' (that is, into '<', '>', '&', '"', ' ').
- Note: There is a difference with the relevant Lua parameter. (This only concerns your task if you also work directly with the Lua mw.text.decode function). Lua documentation defines parameter
|decodeNamedEntities=, having this effect: when omitted or false, only the reduced set of entities is recognized and decoded. This use of 'false' is inverted in using|subset_only=:|decodeNamedEntities=false=|subset_only=true.
- Also, this module ignores the "omitted" logic:
|subset_only=should be set explicitly to 'true' to be effective.
Encode
- Function
encodeencodes some entity-named characters into that name (for example:&→&).
- A regular, sentence:
"At 100 °F, & with a "burning" sun above, we walked"; to process:
{{#invoke:TextEntity|encode|s=At 100 °F, & with a "burning" sun above, we walked}}- → "
At 100 °F, & with a "burning" sun above, we walked" -- in code
- → "
- Per Lua documentation, only a small set of characters is processed. The charset can be set (
|charset=). Format - Use escape character is '
\' (backslash; not "%" then). Example:|charset=<>" \'&(the default),|charset=<>\|\°\"\'\&©; characters not in the default will be replaced by their decimal entity:©→©(hexadecimal number, not decimal nor named ©)