Anoop
Anoop

Reputation: 23208

How to replace an HTML <br> with newline character "\n"?

How can I replace HTML <BR> <BR/> or <BR /> with new line character "\n"

Upvotes: 29

Views: 60067

Answers (3)

Polynomial
Polynomial

Reputation: 28316

You're looking for an equivilent of PHP's nl2br(). This should do the job:

function br2nl(str) {
    return str.replace(/<br\s*\/?>/mg,"\n");
}

Upvotes: 59

Nick Tsai
Nick Tsai

Reputation: 4129

This function considers whether to remove or replace the tags such as <br>, <BR>, <br />, </br>.

/**
 * This function inverses text from PHP's nl2br() with default parameters.
 *
 * @param {string} str Input text
 * @param {boolean} replaceMode Use replace instead of insert
 * @return {string} Filtered text
 */
function br2nl (str, replaceMode) {   

  var replaceStr = (replaceMode) ? "\n" : '';
  // Includes <br>, <BR>, <br />, </br>
  return str.replace(/<\s*\/?br\s*[\/]?>/gi, replaceStr);
}

In your case, you need to use replaceMode. For eaxmple: br2nl('1st<br>2st', true)

Demo - JSFiddle

JavaScript nl2br & br2nl functions

Upvotes: 1

Prais
Prais

Reputation: 969

A cheap function:

function brToNewLine(str) {
    return str.replace(/<br ?\/?>/g, "\n");
}

es.

vat str = "Hello<br \>world!";
var result = brToNewLine(str);

The result is: "Hello/nworld!"

Upvotes: 1

Related Questions