我需要从PHP应用程序中的包含文件中删除旧的ASP代码 - 我试图匹配&lt;%和%&gt;之间的所有内容。使用正则表达式/(<%([.\r\n\r])+%>)/
通过preg_replace,但它失败了。我哪里出错了?
答案 0 :(得分:1)
点[{1}}在[字符类]中不适用于所有字符。考虑一下这个:
[.]
它可以被理解为“匹配&lt;%然后尽可能少的,然后是%&gt;”。这个懒惰的人不会吃中间的代码&lt;%...%&gt;和下一个&lt;%...%&gt;。
答案 1 :(得分:0)
要在<%
和%>
之间加工所有内容,表达式为:
/<%(.*?)%>/
答案 2 :(得分:0)
你没有正确使用你的角色类(我假设你试图匹配所有的字符和换行符)。尝试:
/(<%(.)+?%>)/s
答案 3 :(得分:0)
preg_replace('/<%(.*)%>/s', '$1', $string);