如何在javascript中解析一个字符串并在最后一个之前捕获所有文本

时间:2011-02-13 15:36:43

标签: javascript jquery string

我在javascript中有这样的文字:

This is my text<br>This is my second line of text

我希望有一个将返回的函数

This is my text

所以基本上找到最后一个

<br>

在文中并给我一切。

2 个答案:

答案 0 :(得分:4)

如果您的文字非常简单,可以在.split()

上执行<br>
var str = "This is my text<br>This is my second line of text"
var result = str.split('<br>')[0];

如果它更复杂,使用浏览器的内置HTML解析器可能是值得的,因此您可以像DOM节点一样对它们进行操作。

在这种情况下,它可能如下所示:

var div, result, str = "This is my text<br>This is my second line of text";
(div = document.createElement('div')).innerHTML = str;
var result = div.firstChild.data;

...或者使用jQuery可能更简单一点:

var str = "This is my text<br>This is my second line of text"
var result = $('<div>',{html:str}).contents().first().text();

答案 1 :(得分:2)

如果你确定br不是XHTML br,那么Maxym的答案就可以了。否则,正则表达式应该这样做:

var result = text.match(/([\s\S]+)<br\s*\/?>[\s\S]*$/i)[1];