【发布时间】:2011-08-27 00:36:27
【问题描述】:
我对正则表达式比较陌生,但我的目标是从字符串中删除所有 html 标记,不包括 <br>s 和 <a> 标记为 class='user'。我想使用这个正则表达式从 contentedittable 字段中清除不需要的 html 垃圾。
希望你们中的一位正则表达式大师可以提供帮助...
下面是一个测试示例: http://gskinner.com/RegExr/?2tpai
我想我已经接近了,但是 a class='user' 的结束标记目前仍被选为垃圾。
【问题讨论】:
-
不要自己动手。这是重要且不平凡的事情。它已经完成了无数次。重复使用它
-
“我想使用这个正则表达式从 contentedittable 字段中清除不需要的 html 垃圾。” 如果您正在处理 contentEditable 字段,为什么不直接遍历 DOM 树呢? HTML 很难用正则表达式解析。 (事实上,我认为这在技术上是不可能的,但如果你真的努力,你可以得到一个接近的近似值。)
-
大概是你想去掉的标签,而不是它们元素的内容?
-
如果
class='user'不是<a>标签的first 属性怎么办?如果锚标签里面有其他标签(比如<img>)怎么办?如果在你的开始标签之后的任何地方都有 cmets,你怎么知道跳过出现在其中的匹配项?我不认为你很接近 - 我并不是要批评,只是为了强调我的回答中的一点,即这在技术上是不可能,甚至“足够好”随便用是非常非常辛苦的。毫无疑问,还有更多我们都没有考虑过的问题。 -
@TJCrowder 好的,如果 regex 是错误的选择,您能否举一个示例,说明如何在我的示例中使用 javascript/jquery 通过 DOM 操作来清理 html?
标签: javascript html regex tags