Arma 3 Scripting

Command in Strings, Structured Text

parseText

Also available as Markdown and JSON, or read the original wiki page.

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.

Syntax

parseText text

Parameters:

Returns: 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>";

See also

Structured Text · composeText · text · localize · ctrlSetStructuredText

Community notes

Dr_Eyeball

To convert a structured text back to a string type, just use:

_str = str parseText _structuredText;
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];
Sa-Matra

Here is a useful script snippet to safely use angled braces and ampersand in structured texts:

_string regexReplace ["&", "&"] regexReplace ["<", "<"]