UNPKG

react-code-view

Version:
24 lines 620 B
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 }; }); }