preg_split("/({{\s*(?:(?!}}).)+\s*}})/s", file_get_contents('data.txt'));
その行により、Apache は接続をリセットします。data.txt
約12kBです。
どういうわけか正規表現を最適化できますか?
preg_split("/({{\s*(?:(?!}}).)+\s*}})/s", file_get_contents('data.txt'));
その行により、Apache は接続をリセットします。data.txt
約12kBです。
どういうわけか正規表現を最適化できますか?
代わりに、次の正規表現を試してください。
/({{(?>(?:[^}]|}[^}])+)}})/s
主な改善点:
(?>…)
–バックトラックを回避するためのアトミックグループ化(?:[^}]|}[^}])+
–見回す必要がなく、貪欲でないマッチングもありませんpreg_splitに渡すよりも、ファイルを変数に読み込んでみてください。problem rather than
file_get_contentspreg_split`だと思います。