parseText: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "_{10,} " to "")
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments( \("local" or "global"\))?|Effects|Multiplayer Effects( \("local" or "global"\))?|Multiplayer Exe...)
Line 1: Line 1:
{{Command|Comments=
{{Command


| arma1 |Game name=
| arma1


|1.00|Game version=
|1.00


|gr1= Strings |GROUP1=
|gr1= Strings


|gr2= Structured Text |GROUP2=
|gr2= Structured Text


| Creates a structured text by parsing the given XML description. Do not use [[parseText]] when displaying a localized text from [[Stringtable.xml]].<br>
| Creates a structured text by parsing the given XML description. Do not use [[parseText]] when displaying a localized text from [[Stringtable.xml]].<br>
A detailed explanation of all formatting possibilities can be found at [[Structured Text]]. |DESCRIPTION=
A detailed explanation of all formatting possibilities can be found at [[Structured Text]].


| [[parseText]] text |SYNTAX=
| [[parseText]] text


|p1= text: [[String]] |PARAMETER1=
|p1= text: [[String]]


| [[Structured Text]] |RETURNVALUE=
| [[Structured Text]]
   
   
|x1= <code>[[private]] _Stxt = [[parseText]] "First line<img image='data\isniper.paa'/><nowiki><br/></nowiki>Second line";</code> |EXAMPLE1=
|x1= <code>[[private]] _Stxt = [[parseText]] "First line<img image='data\isniper.paa'/><nowiki><br/></nowiki>Second line";</code>


|x2= <code>[[hintSilent]] [[parseText]] [[format]]["<t size='1.25' font='Zeppelin33' color='#ff0000'>%1 lives remaining.</t>", 12];</code> |EXAMPLE2=
|x2= <code>[[hintSilent]] [[parseText]] [[format]]["<t size='1.25' font='Zeppelin33' color='#ff0000'>%1 lives remaining.</t>", 12];</code>


|x3= <code>[[private]] _clickableLink = [[parseText]] "<nowiki><a href='http://arma3.com'>A3</a></nowiki>";</code> |EXAMPLE3=
|x3= <code>[[private]] _clickableLink = [[parseText]] "<nowiki><a href='http://arma3.com'>A3</a></nowiki>";</code>




| [[Structured Text]], [[composeText]], [[text]], [[localize]], [[ctrlSetStructuredText]] |SEEALSO=
| [[Structured Text]], [[composeText]], [[text]], [[localize]], [[ctrlSetStructuredText]]
}}
}}



Revision as of 02:25, 18 January 2021

Hover & click on the images for description

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

See also:
Structured TextcomposeTexttextlocalizectrlSetStructuredText

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]]; // &amp; &lt; &gt; &quot; &apos; 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];