0

我有一个正则表达式,我想修剪变量的 <br>

str1.replace(/^&lt;br&gt;|&lt;br&gt;$/g,'');

例如我想修剪这样的字符串

var str1 = "<br>hooray!<br>";

我希望它是这样的

var str = "hooray!";

但它似乎不起作用......

删除第一个和最后一个 <br> 标签的正确正则表达式是什么?

4

5 回答 5

6

试试这个正则表达式:

str1.replace(/(^<br>|<br>$)/g,"");

这个小提琴的演示

于 2012-04-24T10:28:59.457 回答
1

试试这个:

var mystring = '<br>hooray!<br>';
var find = "<br>"; 
var regex = new RegExp(find, "g"); 
var result = mystring.replace(regex, "");

这是小提琴

于 2012-04-24T10:39:50.587 回答
0

我认为br标签通常写成<br/>这样你就可以使用正则表达式<br[ ]?/>;

如果你想覆盖br写成的标签,<br> </br>那么你必须使用<br>[\s\S]*?<br[ ]?/>

问题编辑后

对于这样的输入<br>hooray!<br> ,您可以使用 just<br>并将所有匹配项替换为空白

于 2012-04-24T10:24:02.097 回答
0

试试这个:
(?im)(^<br[\s/]*>|<br[\s/]*>$)

JavaScript 代码:

result = subject.replace(/(?:(?:^<br[\s\/]*>)|(?:<br[\s\/]*>$))/mg, "");

于 2012-04-24T10:26:00.707 回答
0

这似乎对我有用,并且可以处理中断标签被奇怪编码的情况......

var newData = data.replace(/&lt;br ?\/\>|&lt;br ?\/&rt;|\<br ?\/\>/g, "\n");
于 2013-10-23T18:24:19.057 回答