prune-html

Given an html string it removes elements matching CSS selector(s) and returns the pruned html string.

prune-html

Given an html string it removes elements matching CSS selector(s) and returns the pruned html string.

var pruneHtml = require('prune-html');
 
var html = [
    '<div>'
  , '  <h1 class="page-title">Global</h1>'
  , '  <header>'
  , '    <h2>Hello</h2>'
  , '  </header>'
  , '  <article>'
  , '    <div class="container-overview">'
  , '      <dl class="details"></dl>'
  , '    </div>'
  , '    <h3 class="subsection-title">Methods</h3>'
  , '  </article>'
  , '</div>'
].join('\n')
 
console.log(pruneHtml([ 'h1', '.details', 'h3' ], html));
/* =>
<div>
  <header>
    <h2>Hello</h2>
  </header>
  <article>
    <div class="container-overview">
    </div>
  </article>
</div> */

You can further refine the element filtering using cheerio attributes.

var pruneHtml = require('prune-html');
 
var html = [
    '<div class="container-overview">'
  , '  <dl data-prune="" class="details"></dl>'
  , '</div>'
].join('\n');
 
function filterPruneData() {
  return this.data('prune') !== undefined;
}
 
console.log(pruneHtml([ '*' ], html, filterPruneData));
/* =>
<div class="container-overview">
</div>
*/
npm install prune-html

Prunes all elements matching the selectors from the given html and returns result.

Name Type Argument Description
selectors Array.<String> | String

if one of these CSS selector(s) matches, the element is pruned

html string

unpruned html

filter function <optional>

function which can be used to filter elements further. Inside the function, this refers to the current element.

Source:

the pruned html

Type string

generated with docme

MIT