1

誰かが私にこのpの内容を取得する正規表現のコードを手伝ってもらえますか?

<p class="bc_shirt_name">101</p>

ありがとう

4

4 に答える 4

2

マークアップが適切に形成されている場合は、 DOMParserを使用することをお勧めします。

var parser = new DOMParser();
var doc = parser.parseFromString('<p class="bc_shirt_name">101</p>', "application/xml");
var contents = doc.documentElement.textContent;

これは、XHTMLだけでなく、ほとんどすべてのXMLで機能します。これも使えます<tag>foo</tag>

これがデモンストレーションです:http://jsfiddle.net/vEeXX/

于 2012-12-09T19:23:40.370 に答える
2

ブラウザはHTMLを解析できるはずですよね?

var div = document.createElement("div");
div.innerHTML = '<p class="bc_shirt_name">101</p>';
var p = div.getElementsByTagName("p")[0];
var html = p.innerHTML; // content as html
var text = p.textContent || p.innerText; // content as plain text
于 2012-12-09T19:36:45.953 に答える
1

多くの方法がありますが、元の質問で尋ねられた正規表現を使用する方法は次のとおりです。

var html = "<stuff><p class=\"bc_shirt_name\">101</p></stuff>";

var matches = html.match(/<p\s+class="bc_shirt_name">[\S\s]*?<\/p>/gi);
    matches = matches[0].replace(/(<\/?[^>]+>)/gi, ''); // Strip HTML tags?

alert(matches);​

JSFiddleデモ: http ://jsfiddle.net/tGTb7/

于 2012-12-09T19:34:38.897 に答える
0
var str = "<p class="bc_shirt_name">101</p>";
var match, result = "", 
regex = /<p\s+class="bc_shirt_name">(.*?)<\/p>/ig;

while (match = regex.exec(str)) {
  result += match[1]; 
  }
 alert(result);

結果変数には、必要なデータが含まれます。お役に立てれば。

于 2012-12-09T19:39:58.920 に答える