Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
匹配HTML标记';使用Javascript正则表达式保存内容_Javascript_Jquery_Html_Regex_Tags - Fatal编程技术网

匹配HTML标记';使用Javascript正则表达式保存内容

匹配HTML标记';使用Javascript正则表达式保存内容,javascript,jquery,html,regex,tags,Javascript,Jquery,Html,Regex,Tags,我的JavaScript函数中有以下HTML作为字符串: <p>one</p> <p align='center'>two</p> 一个两个 我要提取此字符串: “onetwo”(显然没有引号) 您可以推荐一些纯JavaScript代码(jQuery也可以…)来获取标记的内容吗?使用jQuery您不需要复杂的正则表达式,您可以轻松解析HTML并使用DOM: var s = "<p>one</p> <p align=

我的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();
var s=“one

two

”; var wrapper=$('').html(s); var text=wrapper.text();
在这种情况下,
$(s).text()
也可以工作,但如果在第一级有自由文本(例如
1

2
),它将失败,因此我通常避免使用它

请注意,这里的结果是
“一二”
(而不是
“一二”
),因为
标记之间有一个空格。
如果这是一个问题,您可以使用
wrapper.children().text()
wrapper.find('p').text()
,例如,根据您的具体需要


工作示例:

我使用以下正则表达式从XML标记中获取内容。 这只适用于具有内容且后跟结束标记的标记。不会获取包含其他标记的标记的内容。 标记名称位于捕获组1中,标记内容位于捕获组2中。这将用于获取标记内容内部的所有内容,包括“,”和(&I)

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

不要使用正则表达式+1很好的注释..他现在会后悔的..不使用正则表达式绝对是做到这一点的关键:P