Idered
1/5/2014 - 4:41 AM

Remove first and last empty lines, remove useless indentation. Good for parsing HTML

Remove first and last empty lines, remove useless indentation. Good for parsing HTML

var str = '\n\n\n    Multiline text\n    with indentation\n        damn.\n\n\n';

// remove first and last empty lines
str = str.replace(/^[\r\n]+|[\n\r]+$/gi, '');

var indentTab  = str.match(/\t*/) != '',
    indentSize = indentTab ? 1 : str.match(/\s*/)[0].length,
    regex      = new RegExp('^(?:' + (indentTab ? '\\t' : ' {' + indentSize + '}') + ')', 'mg');
    
// Remove indent
if (indentSize)
    str = str.replace(regex, '');