textversionjs
Generate the text version of your HTML email in a second.
This tool is an open source project. Feel free to use it any time in your projects!
htmlToPlainText
The function that generates plain text from email htmls.
Params
Param | Type | Required | Default value | Description |
---|---|---|---|---|
htmlText | string | Yes | The html version of the email | |
styleConfig | json | No | Options for converting |
styleConfig
Param | Type | Required | Default value | Description |
---|---|---|---|---|
linkProcess | function | No | Callback function to customize links appearance | |
imgProcess | function | No | Callback function to customize image appearance | |
headingStyle | string | No | "underline" | Define heading appearance, options: "underline", "linebreak", "hashify" |
listStyle | string | No | "indention" | Define list appearance, options: "indention", "linebreak" |
uIndentionChar | string | No | "-" | If listStyle is indention, uIndentionChar is the character that fills the indention for unordered lists |
oIndentionChar | string | No | "-" | If listStyle is indention, oIndentionChar is the character that fills the indention for ordered lists after the heading number |
listIndentionTabs | int | No | 3 | If listStyle is indention, listIndentionTabs is the width of the indention |
keepNbsps | boolean | No | false | Define the behaviour of the non-braking spaces. If set to true, nbsps are not collapsed to single space. |
linkProcess
Param | Type | Required | Default value | Description |
---|---|---|---|---|
href | string | Yes | The destination (href property) of the link | |
linkText | string | Yes | The text of the link |
imgProcess
Param | Type | Required | Default value | Description |
---|---|---|---|---|
src | string | Yes | The source (src property) of the image | |
alt | string | Yes | The alternative text (alt property) of the image |
Examples
Simple conversion with default style
var textVersion = ;var htmlText = "<html>" + "<body>" + "Lorem ipsum <a href=\"http://foo.foo\">dolor</a> sic <strong>amet</strong><br />" + "Lorem ipsum <img src=\"http://foo.jpg\" alt=\"foo\" /> sic <pre>amet</pre>" + "<p>Lorem ipsum dolor <br /> sic amet</p>" + "<script>" + "alert(\"nothing\");" + "</script>" + "</body>" + "</html>"; var plainText = ;// returns// "Lorem ipsum [dolor] (http://foo.foo) sic amet// Lorem ipsum ![foo] (http://foo.jpg) sic amet// Lorem ipsum dolor// sic amet"
Customize link appearance
var textVersion = ;var htmlText = "<p>Lorem <a href=\"http://foo.foo\">ipsum</a> dolor sic amet</p>"; var styleConfig: { return linkText + " " + "(" + href + ")"; }; var plainText = ;// returns "Lorem ipsum (http://foo.foo) dolor sic amet"
Customize headings
var textVersion = ; var htmlText = "<h1>Lorem ipsum</h1>" + "<p>Lorem ipsum dolor sic amet</p>"; var styleConfig: headingStyle: "hashify"; var plainText = ;// returns// "# Lorem ipsum//// Lorem ipsum dolor sic amet"
Customize lists
var textVersion = ;var htmlText = "<ul>" + "<li>Lorem</li>" + "<li>ipsum</li>" + "</ul>" + "<ol>" + "<li start=\"3\">Lorem</li>" + "<li>ipsum</li>" + "</ol>"; var styleConfig: headingStyle: "indention" uIndentionChar: "."; listIndentionTabs: 2;; var plainText = ;// returns "// ..Lorem// ..ipsum// 3.Lorem// 4.ipsum"
Try it online in our Demo page!
Don't forget to check out our other open source projects at EDMdesigner.