[英]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.