我有这个测试字符串
@test@test <span class="mention">@test</span> @test2@test <span class="mention">@test</span> test@test.com Test @test.com <br> <a></a> <hr></hr> <span>dsfsfdsdfsdfs asdf </span> <span>test</span> <a>f</a>
我希望删除所有标签,同时留下他们的内容,除了提及课程的范围..为了留下以下内容:
@test@test <span class="mention">@test</span> @test2@test <span class="mention">@test</span> test@test.com Test @test.com dsfsfdsdfsdfs asdf test f
这是我得到的,但它仍然无法正常工作
/(?!<span class="mention".*?<\/span>)(<([a-z]*)>(.[^<>]*|)<(\/[a-z]*)>)/g
任何帮助将不胜感激!
答案 0 :(得分:0)
你去吧
<强>正则表达式强>
/(<span(?![^>]*class="mention")[^>]*>)([^<]*)<\/span>/g
替换模式
\2
测试字符串
@test@test <span class="mention">@test</span> @test2@test <span class="mention">@test</span> test@test.com Test @test.com <br> <a></a> <hr></hr> <span>dsfsfdsdfsdfs asdf </span> <span>test</span> <a>f</a>
<强>结果强>
@test@test <span class="mention">@test</span> @test2@test <span class="mention">@test</span> test@test.com Test @test.com <br> <a></a> <hr></hr> dsfsfdsdfsdfs asdf test <a>f</a>
<强>演示强>
这将删除所有没有指定类属性class="mention"
修改强>
这里要求的是如何剥离除了需要提及类
之外的所有html标签<强>正则表达式强>
/(<(\w+)(?![^>]*class="mention")[^>]*>)([^<]*)<\/\2>|(?:<br>|<br\/>)/g
替换模式
\3
<强>结果强>
@test@test <span class="mention">@test</span> @test2@test <span class="mention">@test</span> test@test.com Test @test.com dsfsfdsdfsdfs asdf test f
<强>演示强>
答案 1 :(得分:0)