|
var ElementType = require("domelementtype"),
|
|
getOuterHTML = require("dom-serializer"),
|
|
isTag = ElementType.isTag;
|
|
|
|
module.exports = {
|
|
getInnerHTML: getInnerHTML,
|
|
getOuterHTML: getOuterHTML,
|
|
getText: getText
|
|
};
|
|
|
|
function getInnerHTML(elem, opts){
|
|
return elem.children ? elem.children.map(function(elem){
|
|
return getOuterHTML(elem, opts);
|
|
}).join("") : "";
|
|
}
|
|
|
|
function getText(elem){
|
|
if(Array.isArray(elem)) return elem.map(getText).join("");
|
|
if(isTag(elem)) return elem.name === "br" ? "\n" : getText(elem.children);
|
|
if(elem.type === ElementType.CDATA) return getText(elem.children);
|
|
if(elem.type === ElementType.Text) return elem.data;
|
|
return "";
|
|
}
|