Remove Multiple New Lines with JavaScript
I'm blessed in that lots of people want to guest post on this blog. It's really flattering and I love seeing writers get a bunch of attention after writing. My task is converting the blog post, in whatever format it's provided in (HTML, Markdown, PDF, Google Doc, etc.), to HTML for my blog, which can sometimes get messy. I employ a host of regular expressions to fix these formatting issues. And the number one problem? Loads of extra new lines (\n).
The Regular Expression
The regular expression is actually quite simple:
content.replace(/[\r\n]+/g, '\n'); // Just one new line
content.replace(/[\r\n]+/g, '\n\n'); // "document" formatting, more elegant
With the dozens of extra lines gone it's much easier to work with the content!
![Regular Expressions for the Rest of Us]()
Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...
![LightFace: Facebook Lightbox for MooTools]()
One of the web components I've always loved has been Facebook's modal dialog. This "lightbox" isn't like others: no dark overlay, no obnoxious animating to size, and it doesn't try to do "too much." With Facebook's dialog in mind, I've created LightFace: a Facebook lightbox...
![MooTools ContextMenu Plugin]()
ContextMenu is a highly customizable, compact context menu script written with CSS, XHTML, and the MooTools JavaScript framework. ContextMenu allows you to offer stylish, functional context menus on your website.
The XHTML Menu
Use a list of menu items with one link per item. The...
![Scrolling “Agree to Terms” Component with MooTools ScrollSpy]()
Remember the good old days of Windows applications forcing you to scroll down to the bottom of the "terms and conditions" pane, theoretically in an effort ensure that you actually read them? You're saying "No David, don't do it." Too late -- I've done...
David,
I’m more inclined to use something like:
Only there always seems to be some extra whitespace between those newlines. If you don’t want to loose the tabs on the next line then this works just as well