使用Preg_Replace剥离ASP代码

时间:2011-06-25 05:03:48

标签: php regex asp-classic preg-replace

我需要从PHP应用程序中的包含文件中删除旧的ASP代码 - 我试图匹配&lt;%和%&gt;之间的所有内容。使用正则表达式/(<%([.\r\n\r])+%>)/通过preg_replace,但它失败了。我哪里出错了?

4 个答案:

答案 0 :(得分:1)

点[{1}}在[字符类]中不适用于所有字符。考虑一下这个:

[.]

它可以被理解为“匹配&lt;%然后尽可能少的,然后是%&gt;”。这个懒惰的人不会吃中间的代码&lt;%...%&gt;和下一个&lt;%...%&gt;。

答案 1 :(得分:0)

要在<%%>之间加工所有内容,表达式为:

/<%(.*?)%>/

答案 2 :(得分:0)

你没有正确使用你的角色类(我假设你试图匹配所有的字符和换行符)。尝试:

/(<%(.)+?%>)/s

答案 3 :(得分:0)

preg_replace('/<%(.*)%>/s', '$1', $string);