【发布时间】:2020-09-20 03:10:41
【问题描述】:
这是我想出的从源代码中删除 cmets 的表达式,它会删除除浏览器特定 cmets 之外的所有 cmets。
/<\!--(?!\[if).*?-->/s
我不是 100% 理解正则表达式,但我设法通过在 Stack 中搜索时发现的各种表达方式将其组合在一起“弗兰肯斯坦”。这就是我看到这个表达式崩溃的方式,如果有人能帮助我进一步理解它,我会很高兴。
/<\!--
用于搜索我想用斜杠替换的部分以转义!因为它是表达式的一部分?
(?!\[if)
表示if不包含[if block?
.*?
通配符这么说,不管中间是什么?
-->
我希望表达式找到的位的结尾。
/s
告诉表达式运行,即使表达式之间有空格?
我不想只使用代码,因为它可以满足我的需要,我想真正了解我在使用什么,并学习如何在未来更好地使用它。
这个表达式很好用,但我确实需要帮助才能更进一步。在我的源代码中,我在脚本标签 I.E. 中有代码 sn-ps
<script type="text/javascript">
<!--
// Main vBulletin Javascript Initialization
vBulletin_init();
//-->
</script>
有没有办法可以调整我当前的表达式以使用 javascript 排除 <!-- cmets?
我正在努力实现的一个例子可以看到HERE
【问题讨论】:
标签: php regex comments preg-replace