【发布时间】:2015-12-07 04:36:51
【问题描述】:
我正在努力使用正则表达式。我想使用正则表达式从 html 元素中删除所有数据属性。例如,假设我有这个文本:
<a href="" data-foo data-foo-bar data-test="foo" data-foo='blah'>
testing data-foo attributes.
</a>
我想删除所有数据-*,如果它在 HTML 标记内,但不是从文本中。结果应该是:
<a href="">
testing data-foo attributes.
</a>
这就是我所拥有的,但它不恰当地从文本中删除了 data-*:
/(data-.+?=".*?")|(data-.+?='.*?')|(data-[a-zA-Z0-9-]+)/g
【问题讨论】:
-
您使用哪种语言?
-
@ToniLeigh:JavaScript,但这个问题与语言无关。
-
@JohnnyOshika 我问有两个原因,首先应用程序的语法可能因语言而异(小点);其次,根据语言,可能有更好的方法来操作 HTML,具体取决于语言 DOM 函数和内置的 HTML 解析函数 - HTML 字符串的正则表达式操作非常困难
-
@ToniLeigh:看起来正则表达式很难解决这个问题,所以我不得不求助于字符串解析和迭代。
标签: html regex custom-data-attribute