parseText: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{Wikipedia *\| *([a-zA-Z0-9_#]+) *\| *([a-zA-Z0-9_ #]+) *\}\}" to "{{Link|https://en.wikipedia.org/$1|$2}}")
m (Text replacement - "Samatra" to "Sa-Matra")
 
(5 intermediate revisions by 2 users not shown)
Line 41: Line 41:
}}
}}


 
{{Note
<dl class="command_description">
|user= Dr_Eyeball
 
|timestamp= 20160901064700
<dd class="notedate">Posted on 1 September 2016</dd>
|text= To convert a structured text back to a string type, just use:
<dt class="note">[[User:Dr_Eyeball|Dr_Eyeball]]</dt>
<dd class="note">To convert a structured text back to a string type, just use:
<sqf>_str = str parseText _structuredText;</sqf>
<sqf>_str = str parseText _structuredText;</sqf>
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on September 1, 2017 - 13:23 (UTC)</dd>
|user= AgentRev
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
|timestamp= 20170901132300
<dd class="note">
|text= If you are parsing user-defined strings like player names, you may want to convert special characters to their {{Link|https://en.wikipedia.org/wiki/Character_encodings_in_HTML#XML_character_references|XML entities}} as a precaution beforehand, otherwise the result might be corrupted.
If you are parsing user-defined strings like player names, you may want to convert special characters to their {{Link|https://en.wikipedia.org/Character_encodings_in_HTML#XML_character_references|XML entities}} as a precaution beforehand, otherwise the result might be corrupted.
<sqf>
<sqf>private _escapeXML =
private _escapeXML =
{
{
_this
_this
Line 66: Line 65:
private _name = '<A&M> Paul "Bear" Bryant';
private _name = '<A&M> Paul "Bear" Bryant';
private _escapedName = _name call _escapeXML;
private _escapedName = _name call _escapeXML;
private _redName = parseText format ["<t color='#ff0000'>%1</t>", _escapedName];</sqf>
private _redName = parseText format ["<t color='#ff0000'>%1</t>", _escapedName];
</dd>
</sqf>
}}


</dl>
{{Note
|user= Sa-Matra
|timestamp= 20231013120233
|text= Here is a useful script snippet to safely use angled braces and ampersand in structured texts:
<sqf>_string regexReplace ["&", "&amp;"] regexReplace ["<", "&lt;"]</sqf>
}}

Latest revision as of 20:58, 4 July 2024

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 Text composeText text localize ctrlSetStructuredText

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
Dr_Eyeball - c
Posted on Sep 01, 2016 - 06:47 (UTC)
To convert a structured text back to a string type, just use:
_str = str parseText _structuredText;
AgentRev - c
Posted on Sep 01, 2017 - 13:23 (UTC)
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 ["&", "&amp;"] regexReplace ["<", "&lt;"] regexReplace [">", "&gt;"] regexReplace ['"', "&quot;"] regexReplace ["'", "&apos;"] }; private _name = '<A&M> Paul "Bear" Bryant'; private _escapedName = _name call _escapeXML; private _redName = parseText format ["<t color='#ff0000'>%1</t>", _escapedName];
Sa-Matra - c
Posted on Oct 13, 2023 - 12:02 (UTC)
Here is a useful script snippet to safely use angled braces and ampersand in structured texts:
_string regexReplace ["&", "&amp;"] regexReplace ["<", "&lt;"]