Как разобрать строку в JavaScript и захватить весь текст до последнего <br> - PullRequest
1 голос
/ 13 февраля 2011

у меня есть текст в javascript, как это:

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

и я хочу иметь функцию, которая будет возвращать

This is my text

так что в основном найдите последний

<br>

в тексте и дай мне все до него.

Ответы [ 2 ]

4 голосов
/ 13 февраля 2011

Если ваш текст действительно так прост, вы можете сделать .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();
2 голосов
/ 13 февраля 2011

Если вы уверены, что br не будет br XHTML, то ответ Maxym работает отлично. В противном случае, регулярное выражение должно сделать это:

var result = text.match(/([\s\S]+)<br\s*\/?>[\s\S]*$/i)[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...