detect-is-it-html-or-xhtml4.0.14
Answers, is the string input string more an HTML or XHTML (or neither)
§ Quick Take
import { strict as assert } from "assert";
import { detectIsItHTMLOrXhtml } from "detect-is-it-html-or-xhtml";
assert.equal(
detectIsItHTMLOrXhtml(
`<img src="some.jpg" width="zzz" height="zzz" border="0" style="display:block;" alt="zzz"/>`
),
"xhtml"
);
§ Purpose
It is a function which detects, does given string resemble XHTML or HTML. The format, XHTML or HTML, affects closing slashes and singleton tags.
§ API - Input
detectIsItHTMLOrXhtml(str)
In other words, it's a function which takes one input argument, a string.
If the input is not String type, this package will throw an error. If the input is missing completely, it will return null
.
§ API - Output
Type | Value | Description |
---|---|---|
String or null | 'html', 'xhtml' or null | Identified type of your input |
§ Under the hood
The algorithm is the following:
- Look for
doctype
. If recognised, Bob's your uncle, here's your answer. - IF there's no
doctype
or it's messed up beyond recognition, DO scan all singleton tags (<img>
,<br>
and<hr>
) and see which type the majority is (closed or not closed). - In a rare case when there is an equal amount of both closed and unclosed tags, lean for
html
. - If (there are no tags in the input) OR (there are no doctype tags and no singleton tags), return
null
.
§ Changelog
See it in the monorepo , on GitHub.
§ Contributing
To report bugs or request features or assistance, raise an issue on GitHub .
Any code contributions welcome! All Pull Requests will be dealt promptly.
§ Licence
Copyright © 2010–2021 Roy Revelt and other contributors
Related packages:
📦 emlint 4.5.5
Pluggable email template code linter
📦 html-crush 4.1.8
Minifies HTML/CSS: valid or broken, pure or mixed with other languages
📦 stristri 3.1.6
Extracts or deletes HTML, CSS, text and/or templating tags from string
📦 string-strip-html 8.2.11
Strips HTML tags from strings. No parser, accepts mixed sources
📦 detect-templating-language 2.0.14
Detects various templating languages present in string
📦 html-table-patcher 4.0.14
Visual helper to place templating code around table tags into correct places
📦 is-html-tag-opening 2.0.14
Does an HTML tag start at given position?