react-code-view
Version:
Code view for React
24 lines • 620 B
JavaScript
import parseDom from './parseDom';
function text(element) {
return element.textContent || element.innerText;
}
export default function parseHTML(source) {
if (!source) {
return null;
}
var fragments = source.split(/(<!-+\ ?start-code\ ?-+>[\s\S]+?<!-+\ ?end-code\ ?-+>)/gi);
return fragments.map(function (fragment, key) {
if (fragment.match(/<!-+\ ?start-code\ ?-+>[\s\S]+?<!-+\ ?end-code\ ?-+>/gi)) {
return {
key: key,
type: 'code',
content: text(parseDom(fragment))
};
}
return {
key: key,
type: 'html',
content: fragment
};
});
}