开发者

preg_split results in connection reset

preg_split("/({{\s*(?:(?!}}).)+\s*}})/s", file_get_contents('data.txt'));

That line makes Apache reset the connection. data.txt is approximately 12 kB.

What am I doing 开发者_C百科wrong, can I optimize the regex somehow?


Try this regular expression instead:

/({{(?>(?:[^}]|}[^}])+)}})/s

The main improvements:

  • (?>…) – atomic grouping to avoid backtracking
  • (?:[^}]|}[^}])+ – no look-around, no non-greedy matching


Try reading the file into a variable than passing it to preg_split. I think it's file_get_contentsproblem rather thanpreg_split`.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜