Quebra de linha para parágrafo

by Ivan Ferrer

HTML

<div class="container" id="result">

<!-- [p] -->Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer et fermentum orci. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque laoreet urna at nulla placerat, nec volutpat magna viverra. In hac habitasse platea dictumst. Vivamus dignissim ultricies magna ac auctor. Sed accumsan elit non neque lobortis tristique. Curabitur viverra vehicula metus in luctus. Vivamus ex lacus, vehicula quis arcu eget, auctor sollicitudin orci. Aliquam eu tortor lacinia, viverra mauris in, placerat urna. Sed vestibulum, tortor quis consectetur dictum, ligula dolor bibendum arcu, vel accumsan erat enim at mi.<br><!-- [/p] -->

<!-- [p] -->In ut egestas ex. Aenean non semper arcu. Nulla imperdiet ligula sagittis ante interdum commodo. In magna mi, vulputate nec pulvinar ac, congue sit amet lectus. Duis tempus tempus ligula id ultrices. Morbi quis dapibus neque, et suscipit tellus. Sed dapibus mauris eu lorem molestie hendrerit. Ut a ante vitae enim condimentum laoreet eu quis felis. Ut commodo odio ac sodales rhoncus. Nulla facilisi. Nunc commodo odio sed luctus dapibus. Sed ut massa volutpat, lacinia libero porta, luctus orci. Fusce blandit tellus at maximus facilisis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed interdum ornare sapien eget malesuada. Phasellus at bibendum ante.<br><!-- [/p] -->

<!-- [p] -->Nam pharetra massa at erat malesuada iaculis. Maecenas et erat vitae velit molestie tristique in eget neque. Mauris fringilla rhoncus neque ut consectetur. Morbi eu lorem eget est vestibulum viverra. Quisque et ultrices mi. Morbi et urna dictum, aliquet mauris at, ultricies massa. Aenean vulputate leo mi, condimentum suscipit leo faucibus et. Sed condimentum a diam eget consectetur. Nunc a dolor vel massa faucibus molestie. Nullam nec bibendum tortor. Mauris pretium mollis consectetur. Aenean sit amet neque libero....

JavaScript

"use strict";

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }

function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }

function getHiddenHTML(el) {
  return _toConsumableArray(el.childNodes).reduce(function (txt, node) {
    var add = '';

    if (node.nodeType === 8) {
      add = node.nodeValue.replace(/\[/, '<').replace(/\]/, '>').trim();
    } else if (node.nodeType === 3 && node.childNodes.length) {
      add = getHiddenHTML(node);
    } else if (node.nodeType === 3) {
      add = node.textContent;
    } else {
      add = node.textContent;
    }

    return txt + add;
  }, '');
}
/*
        function getHiddenHTML(el) {
  return [...el.childNodes].reduce(function(txt, node){
    let add = '';

    if (node.nodeType === 8) {
      add = node.nodeValue.replace(/\[/, '<').replace(/\]/, '>').trim();
    } else if (node.nodeType === 3 && node.childNodes.length) {
      add = getHiddenHTML(node);
    } else if (node.nodeType === 3) {
      add = node.textContent;
    } else {
      add = node.textContent;
    }
    return txt + add;
  }, '');
}
*/
var content = document.querySelector('.container');


var html = getHiddenHTML(content);
if(html) {
content.innerHTML=html;
}