Skip to main content

@rtorcato/js-common / html

html

Functions

escapeHtml()

escapeHtml(str): string

Defined in: html/index.ts:14

Escapes special HTML characters in a string to prevent XSS attacks.

Example

escapeHtml('<script>alert("x")</script>')
// '&lt;script&gt;alert(&quot;x&quot;)&lt;/script&gt;'
escapeHtml("Tom & Jerry's") // 'Tom &amp; Jerry&#39;s'

Parameters

str

string

The string to escape.

Returns

string

The escaped string.


unescapeHtml()

unescapeHtml(str): string

Defined in: html/index.ts:36

Unescapes HTML entities in a string.

Example

unescapeHtml('&lt;b&gt;hi&lt;/b&gt;') // '<b>hi</b>'
unescapeHtml('Tom &amp; Jerry') // 'Tom & Jerry'
unescapeHtml('a&#x2F;b&nbsp;c') // 'a/b c'

Parameters

str

string

The string to unescape.

Returns

string

The unescaped string.


stripHtmlTags()

stripHtmlTags(str): string

Defined in: html/index.ts:91

Strips all HTML tags from a string.

Example

stripHtmlTags('<p>Hello <b>world</b></p>') // 'Hello world'
stripHtmlTags('plain text') // 'plain text'

// Strips `<…>` spans, so ragged input leaves residue — not a sanitizer.
stripHtmlTags('<<a>script>') // 'script>'
stripHtmlTags('<scr<x>ipt>') // 'ipt>'

Removes <…> spans and nothing else: it does not decode entities and does not understand attributes or quoting, so ragged or nested markup leaves attacker-controlled residue behind rather than a safe string. Not a substitute for a real sanitizer such as DOMPurify when rendering untrusted HTML — this produces display text, it does not make untrusted markup safe.

Parameters

str

string

The string to strip tags from.

Returns

string

The plain text string.


textToHtml()

textToHtml(str): string

Defined in: html/index.ts:106

Converts a plain text string to a simple HTML paragraph (newlines become <br> tags).

Parameters

str

string

The plain text string.

Returns

string

The HTML string with <br> tags.


containsHtml()

containsHtml(str): boolean

Defined in: html/index.ts:120

Checks if a string contains any HTML tags.

A heuristic for "does this look like markup", not a security gate: it only looks for a non-empty <…> span, so 'a<b' and '<>' are both false. Do not use it to decide whether untrusted input is safe to render.

Parameters

str

string

The string to check.

Returns

boolean

True if the string contains HTML tags, false otherwise.