[英]Javascript Regex: Get HTML Tags
我做了这个正则表达式:
/\<+[a-zA-Z0-9\=\"\s]+\>+.+\<\/+[a-zA-Z0-9]+\>/gi
它匹配一个完整的HTML标签,如:
<p>this is a paragraph</p>
但是这个问题是它将所有元素匹配为一个匹配
<div><p>this is a paragraph</p></div>
但我想将所有HTML元素分开。
注意:HTML标记位于不在DOM中的字符串中。
在正则表达式解决方案之前,我尝试创建一个新的div
元素,并添加了字符串,因为它是innerHTML。 但是不能正常工作我真的不知道为什么......
所以我正在寻找解决这一匹配问题的REGEX解决方案。
谢谢
用+[^<]+
替换内部+.+
会阻止它匹配整个字符串,但正则表达式不是处理包含嵌套组件的字符串的正确选择。 为此你应该使用解析器。
正则表达式只是这里工作的错误工具。
正则表达式不适合处理html。 正如您所提到的,HTML不是DOM的一部分
注意:HTML标记位于不在DOM中的字符串中。
您可以使用JQuery从HTML构建对象,并使用DOM选择器/ traversion来处理它:
$(myHTMLString).find('p')...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.