tag-name-parser
v1.0.1
Published
A tag parser that does not support attributes. Lightweight and fast.
Downloads
14
Maintainers
Readme
tag-name-parser
A tag parser that does not support attributes. Lightweight and fast.
Install
npm i tag-name-parser
Usage
const parse = require('tag-name-parser')
parse(`hello <a>world<b>~</b><c/>!</a>`)
output:
[
'hello ',
{
name: 'a',
single: false,
children: [
'world',
{
name: 'b',
single: false,
children: [
'~'
]
},
{
name: 'c',
single: true
},
'!'
]
}
]
Non-strict mode
If strict is false, the result is returned without error.
parse('<a>invalid<b>', {strict: false})
output:
[
{
name: 'a',
single: false,
children: [
'invalid',
{
name: 'b',
single: false,
children: []
}
]
}
]
Change tag brackets.
parse('hello [a]world[/a]', {tag: ['[', ']']})
output:
{
'hello ',
{
name: 'a',
single: false,
children: [
'world'
]
}
}
Benchmark
Each test 10,000 times. (bench-example.txt)
tag-name-parser|htmlparser2|parse5|sax|html-parse-stringify2|fast-xml-parser ---|---|---|---|---|--- ~184 ms|~609 ms|~2.67 s|~1.41 s|~910 ms|~529 ms
It is fast because it does not provide much. 😜
License
MIT