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 に答える