parseText: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " |r1=[[" to " |r1= [[") |
m (Optimized escaping function using regex, up to 10x faster) |
||
Line 53: | Line 53: | ||
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt> | <dt class="note">[[User:AgentRevolution|AgentRev]]</dt> | ||
<dd class="note"> | <dd class="note"> | ||
If you are parsing user-defined strings like player names, you may want to convert special characters to their {{Wikipedia|Character_encodings_in_HTML#XML_character_references|XML entities}} as a precaution beforehand | If you are parsing user-defined strings like player names, you may want to convert special characters to their {{Wikipedia|Character_encodings_in_HTML#XML_character_references|XML entities}} as a precaution beforehand, otherwise the result might be corrupted. | ||
<code>private | <code>private _escapeXML = | ||
{ | { | ||
_this | |||
[[regexReplace]] ["&", "&amp;"] | |||
regexReplace ["<", "&lt;"] | |||
regexReplace [">", "&gt;"] | |||
regexReplace ['"', "&quot;"] | |||
regexReplace ["'", "&apos;"] | |||
}; | }; | ||
private | private _name = '<A&M> Paul "Bear" Bryant'; | ||
private _redName = parseText format ["<t color='#ff0000'>%1</t>", | private _escapedName = _name call _escapeXML; | ||
private _redName = [[parseText]] format ["<t color='#ff0000'>%1</t>", _escapedName];</code> | |||
</dd> | </dd> | ||
</dl> | </dl> |
Revision as of 19:05, 5 October 2021
Description
- Description:
- Creates a structured text by parsing the given XML description. Do not use parseText when displaying a localized text from Stringtable.xml.
A detailed explanation of all formatting possibilities can be found at Structured Text. - Groups:
- StringsStructured Text
Syntax
- Syntax:
- parseText text
- Parameters:
- text: String
- Return Value:
- Structured Text
Examples
- Example 1:
private _Stxt = parseText "First line<img image='data\isniper.paa'/><br/>Second line";
- Example 2:
hintSilent parseText format["<t size='1.25' font='Zeppelin33' color='#ff0000'>%1 lives remaining.</t>", 12];
- Example 3:
private _clickableLink = parseText "<a href='http://arma3.com'>A3</a>";
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
- Posted on 1 September 2016
- Dr_Eyeball
- To convert a structured text back to a string type, just use:
_str = str parseText _structuredText;
- Posted on September 1, 2017 - 13:23 (UTC)
- AgentRev
-
If you are parsing user-defined strings like player names, you may want to convert special characters to their XML entities as a precaution beforehand, otherwise the result might be corrupted.
private _escapeXML = { _this regexReplace ["&", "&"] regexReplace ["<", "<"] regexReplace [">", ">"] regexReplace ['"', """] regexReplace ["'", "'"] }; private _name = '<A&M> Paul "Bear" Bryant'; private _escapedName = _name call _escapeXML; private _redName = parseText format ["<t color='#ff0000'>%1</t>", _escapedName];
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint: Elite version 1.00
- Operation Flashpoint: Elite: New Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Strings
- Command Group: Structured Text