• Conversion rules
  • Supported tags
  • Managing the character set
  • Limitations
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Converts an HTML string or buffer to text. The following operations are performed during the conversion:
  • Deletion of HTML tags,
  • Conversion of HTML special characters,
  • Conversion of CR characters (Carriage Return) to spaces,
  • Conversion of multiple spaces to single spaces.
MyHTMLText is string
MyHTMLText = "<!--test-->&lt;b&gt;&lt;i&gt;&quot;Hello!&quot;&lt;/i&gt;&lt;/b&gt;"
Text is string = HTMLToText(MyHTMLText)
// Text is set to: "Hello"!
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)
// If the HTML document is set to:
// <HEAD>
//  <TITLE>This is a test for a Web page</TITLE>
//  <META http-equiv="content-type" content="text/html; charset=UTF-8">
// </HEAD>
// <P>This is &nbsp;&nbsp;&nbsp;&nbsp; an HTML page in English</P>
// It contains 1 paragraph<BR /><DD>a tab<BR />and 3 line breaks
//  <BR /><A href="">This is a link</A>
// </BODY>
Text = HTMLToText(MyHTMLText)
// Text will contain:
// This is        an HTML page   in English.
// It contains 1 paragraph
//   a tab
// and 3 line breaks
// This is a link
<Result> = HTMLToText(<Text in HTML format> [, <Charset used>])
<Result>: Character string
Text corresponding to the result of the HTML conversion. The encoding used is the one of the current character set of WINDEV or WEBDEV.
<Text in HTML format>: String or buffer
Text to convert.
<Charset used>: Optional Integer constant
Constant identifying the character set used to write the <Text in HTML format>.
The current character set of WINDEV or WEBDEV is used by default (charsetCurrent constant).
If any information about the character set used is found in the <Text in HTML format>, this information has priority over this parameter.
For more details on these constants, see Correspondence between languages, sub-languages, character sets and nations.
AndroidAndroid Widget This parameter is not available

Conversion rules

  • The HTML tags are analyzed to keep the best possible formatting in the output text (CR characters, spaces, tabs, etc.). The formatting is not kept: bold, italic, colors, etc.
  • The following elements do not appear in the text output:
    • HTML tags
    • content of the "header" (information in the <HEAD> tag)
    • comments
    • control texts
    • scripts
    • SSL definitions
    • CSS styles (except "color" attributes)
    • form elements
  • Management of CR characters
    • 2 Carriage Returns are inserted to replace the following tags: <P>, <H1> to <H6>, <TABLE>, <UL> or <OL>
    • 1 Carriage Return is inserted to replace the following tags: <BR>, <TR>, <LI>, <DD> or <DIV>
    • 1 single Carriage Return is inserted if several identical tags (<TR>, <LI>, <DD> or <DIV>) follow one another (except for <BR> tags)
  • Management of arrays
    • A CR character is inserted for each array row (<TR> tag).
    • A tab is inserted for each array column (<TD> tag).
  • Management of special characters
    A special character is a character defined in the HTML standard. For example, a space can be written as "&amp;nbsp;" and the "é" character as "&amp;eacute,". This standard is automatically used.

Supported tags

The unsupported tags are ignored: their content is taken into account as text.
The supported tags are as follows:
  • <PRE>
  • <UL>: Line break + tab
  • <OL>: Line break + tab
  • <LI>: Tab
  • <H1>: Line break above and below
  • <H2>: Line break above and below
  • <H3>: Line break above and below
  • <H4>: Line break above and below
  • <H5>: Line break above and below
  • <H6>: Line break above and below
  • <P>: Line break above and below
  • <BR>: Line break
  • <DL>: Line break
  • <DT>: Line break
  • <DD>: Tab and line break
  • <TABLE>: Line break
  • <TR>: Line break
  • <TD>: Elements separated by a tab
  • <HEAD>: Content ignored, except for the parameters of the character set
  • <STYLE>: Content ignored
  • &lt;SCRIPT&gt: Content ignored
  • <!-- -->: Comments ignored

Managing the character set

To identify the character set used in the HTML text, HTMLToText uses the information in the CONTENT attribute of a <META> tag.
If this tag is not found, the character set used to write the HTML text must be specified in <Charset used>.
If the HTML content uses an Arabic character set and WINDEV/WEBDEV uses a French character set by default, the output text will have invalid characters.
  • If the output text contains several question marks ("?"), it means that the characters of the character set used in the HTML document cannot be expressed with the characters of the current language.
  • The UTF-8 character set is commonly used to encode Web pages.
AndroidAndroid Widget


The result of HTMLToText may be different from the result in Windows. The mentioned conversion rules and the list of generated tags do not apply in Android.
Related Examples:
The HTMLTo functions Unit examples (WEBDEV): The HTMLTo functions
[ + ] This example explains how to use the HTMLToRTF and HTMLToText functions of WLanguage.
Switching from the RTF format to the HTML format Unit examples (WINDEV): Switching from the RTF format to the HTML format
[ + ] Using RTFToHTML and RTFToText.
WD Mail Complete examples (WINDEV): WD Mail
[ + ] This application is an email client developed in WINDEV. It is based on the Email objects.
This email client is used to retrieve and send emails by using the POP, IMAP and SMTP protocols.
You have the ability to apply filters to the incoming emails.

The application can also be used to manage several email accounts. The writing of an email is based on the HTML edit control.
HTML types (HTMLDocument, HTMLNode, HTMLAttribute) Unit examples (WINDEV): HTML types (HTMLDocument, HTMLNode, HTMLAttribute)
[ + ] This example shows how to use the HTMLXxx WLanguage types (HTMLDocument, HTMLNode, HTMLAttribute)
Component: wd270rtf.dll
Minimum version required
  • Version 12
This page is also available for…
Click [Add] to post a comment