我对正则表达式相对较新,但我的目标是从字符串中删除所有html标记,不包括< br> s和< a> class =’user’的标签.我想用这个正则表达式从contentedittable字段清除不需要的HTML垃圾.
希望你们其中一个正则表达的大师可以帮助…
以下是测试的示例:http://gskinner.com/RegExr/?2tpai
我认为我很接近,但是当需要时,a class =’user’的结束标记仍然被选为垃圾.
解决方法:
我建议你这样:
<(?!a class='user'|br|/a)[^>]+>
即,你在你的html中保留所有< / a>标签,不应该打扰.
这非常hacky,但正则表达式引擎会立即跳过一段以< a class ='user'开头的文本并开始寻找下一个< ... 一般来说,根据我通过正则表达式转换html的经验,我发现安全的唯一方法是在几个中间步骤中分割流程,例如首先处理< a class ='user'.... / a> ; s,然后与其余部分,但我看不到一个简单的方法来做你的情况,而不转换< a class ='user'.... / a>进入不同的东西作为中间步骤.