簡體   English   中英

用Javascript RegEx匹配HTML標簽的內容

[英]Match HTML tag's content with a Javascript RegEx

我在JavaScript函數中將以下HTML作為字符串:

<p>one</p> <p align='center'>two</p>

我要提取此字符串:

"onetwo" (顯然沒有引號)

您能否建議一些純JavaScript代碼(jQuery也可以...)來獲取標簽的內容?

使用jQuery,您不需要復雜的正則表達式,就可以輕松解析HTML並使用DOM:

var s = "<p>one</p> <p align='center'>two</p>";
var wrapper = $('<div />').html(s);
var text = wrapper.text();

在這種情況下, $(s).text()也可以工作,但是如果您在第一層上有自由文本(例如<p>1</p>2 ),它將失敗,因此我通常避免使用它。

注意這里的結果是"one two" (不是"onetwo" ),因為<p>標記之間有一個空格。
如果存在問題,則可以根據實際需要使用wrapper.children().text()wrapper.find('p').text()

工作示例: http : //jsbin.com/osidi3

我做了以下正則表達式來從XML標簽中獲取內容。 這僅適用於具有內容且后跟結束標簽的標簽。 不會獲取包含其他標簽的標簽的內容。 標簽名稱位於捕獲組1中,標簽內容位於捕獲組2中。這將用於獲取所有內容,包括標簽內容中的<,>,“,”和&。

<([^\s>]+)\s?[^>]*>(.*)(?:<\/\1)>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM