parseText: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Fix <br /> / <br> replacement mistake) |
No edit summary |
||
Line 73: | Line 73: | ||
private _encodedName = _name call _encodeText; | private _encodedName = _name call _encodeText; | ||
private _redName = parseText format ["<t color='#ff0000'>%1</t>", _encodedName]; </code> | private _redName = parseText format ["<t color='#ff0000'>%1</t>", _encodedName]; </code> | ||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> | |||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on March 20, 2020 - 19:48 (UTC)</dd> | |||
<dt class="note">[[User:Dscha|Dscha]]</dt> | |||
<dd class="note"> | |||
When using [[parseText]] on an RscStructuredText control, with '''custom Attributes''' set (extra config Class), it needs to be in the same line as [[ctrlSetStructuredText]]: <br> | |||
<code>_text = "abc"; | |||
_ctrl [[ctrlSetStructuredText]] [[parseText]] _text; | |||
</code><br> | |||
The following Code would use '''none''' of the custom Attributes of the selected Control, instead it falls back to Standard Values (Font, Size, Color, Align, etc) | |||
<code>_text = [[parseText]] "abc"; | |||
_ctrl [[ctrlSetStructuredText]] _text; | |||
</code> | |||
</dd> | </dd> | ||
</dl> | </dl> | ||
<!-- DISCONTINUE Notes --> | <!-- DISCONTINUE Notes --> |
Revision as of 20:48, 20 March 2020
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:
- Uncategorised
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
Notes
- Posted on 1 September 2016
- Dr_Eyeball
- To convert a structured text back to a string type, just use:
_str = [[str]] [[parseText]] _structuredText;
Bottom Section
- 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:
private _encodeText = { private _specialChars = [38, 60, 62, 34, 39]; // & < > " ' private _convertTo = [[38,97,109,112,59], [38,108,116,59], [38,103,116,59], [38,113,117,111,116,59], [38,97,112,111,115,59]]; // & < > " ' private _chars = []; private "_i"; { _i = _specialChars find _x; if (_i isEqualTo -1) then { _chars pushBack _x } else { _chars append (_convertTo select _i) }; } forEach toArray param [0,"",[""]]; toString _chars }; private _encodedName = _name call _encodeText; private _redName = parseText format ["<t color='#ff0000'>%1</t>", _encodedName];
- Posted on March 20, 2020 - 19:48 (UTC)
- Dscha
-
When using parseText on an RscStructuredText control, with custom Attributes set (extra config Class), it needs to be in the same line as ctrlSetStructuredText:
_text = "abc"; _ctrl ctrlSetStructuredText parseText _text;
The following Code would use none of the custom Attributes of the selected Control, instead it falls back to Standard Values (Font, Size, Color, Align, etc)_text = parseText "abc"; _ctrl ctrlSetStructuredText _text;