preg_split приводит к сбросу соединения

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

Эта строка заставляет Apache сбросить соединение. data.txt составляет примерно 12 КБ.

Что я делаю не так, могу ли я как-нибудь оптимизировать регулярное выражение?


person Znarkus    schedule 03.01.2011    source источник


Ответы (2)


Вместо этого попробуйте это регулярное выражение:

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

Основные улучшения:

person Gumbo    schedule 03.01.2011

Попробуйте прочитать файл в переменной, а не передавать его в preg_split. Думаю, это file_get_contentsproblem rather thanpreg_split`.

person s3v3n    schedule 03.01.2011