我想写一个(我认为)非常简单的正则表达式与PHP,但它不工作。 基本上我有这样定义的模块:与PHP正则表达式解析块
%%%%blockname%%%%
stuff goes here
%%%%/blockname%%%%
我没有任何好处的正则表达式,但是这是我的尝试:
preg_match_all('/^%%%%(.*?)%%%%(.*?)%%%%\/(.*?)%%%%$/i',$input,$matches);
它返回一个4个空条目的数组。
我想它除了实际工作之外,还需要某种类型的第三次比赛指针,因为它应该等于第一次?
请赐教:)
如果您没有嵌套块,则不必担心与第一个匹配的第三个匹配项。另一方面,如果你有嵌套块,正则表达式可能不会成为现实.. – 2011-06-10 07:40:27
我现在没有嵌套块,但可能在将来。我也想过也许使用HTML解析器,并通过给我的HTML代码赋予属性来定义块。 – Kokos 2011-06-10 07:41:54