2

例如,我需要从中得到:

Before Bold <b>In Bold</b> After Bold

要得到:

Before Bold After Bold.

我试过了:

string.replace(/<.*>.*<\/.*>/,'')

但它没有按预期工作。

4

3 回答 3

8

尝试这个:

string.replace(/<([^>]+?)([^>]*?)>(.*?)<\/\1>/ig, "")

它对我有用。

看到它在这里工作

于 2014-07-17T17:45:57.083 回答
1
var div = document.createElement("div"),
    result = "",
    child;

div.innerHTML = str;
child = div.firstChild;

do {
    if (child.nodeType === 3) {
        result += child.nodeValue;
    }
} while (child = child.nextSibling);

console.log(result);
于 2013-02-28T16:11:09.123 回答
0

我不确定正则表达式,但是使用 jQuery,您可以轻松地删除子项并使用经典的单行符返回 HTML:

string = $('<div>').html(string).children().remove().end().html();
于 2013-02-28T16:22:18.733 回答