我想仅使用正则表达式匹配有效的HTML注释。 我在stackoverflow上看到了很多问题,但没有人回答这个问题。 允许匹配的模式
<!-- some comments 1 -->
<!-- 1.91 -->
<!--
//-->
<!-- -->
但不是这些仅限IE的评论
<!--[if IE]> <![endif]-->
<!--[if !IE]><!--> <!--<![endif]-->
<!--[if IE 6]> <![endif]-->
我认为可以通过'['如果在<!--
之后将其作为第一个字符返回false来帮助它来完成。
你可以用任何方式提供自己的解决方案。
对于php只能使用preg_replace
答案 0 :(得分:1)
我真的不建议您使用正则表达式执行此操作,但如果您坚持,这是一个基本的正则表达式:http://regex101.com/r/wI2kF7
祝你好运。答案 1 :(得分:1)
为什么要使用正则表达式?使用DOMXPath query,如下所示
'//comment()[not(starts-with(., "[if") or . = "<![endif]")]'
有关工作示例,请参阅http://codepad.viper-7.com/Yzs5zq。