Reputation: 23208
How can I replace HTML <BR> <BR/> or <BR />
with new line character "\n"
Upvotes: 29
Views: 60067
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
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)
Upvotes: 1
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