Эта тема на forum.dklab.ru


La5erWind: preg_match utf8 размер обрабатываемых данных
Здравствуйте!

Столкнулся с проблемой

1) Есть текст в UTF8
2) Есть регулярка, которая должна искать, вот это {%someList%} Some text {%some_tag%} {%/someList%}


if (preg_match_all('|\{%(.+)%\}(.+)\{%/\\1%\}|Uusix', $html1.$html2, $matches)) {
die ("found");
}
die ("not_found");


3) Не обрабатывает, если текст "большой". Для наглядности разбил текст на два куска. По отдельности, куски обрабатываются, вместе нет. Кто что скажет?

p.s. Та же ерунда и с preg_match.

p.s.2. Пример во вложении
dimagolov:
http://www.php.net/manual/en/pcre.configuration.php
La5erWind:
http://www.php.net/manual/en/pcre.configuration.php

Спасибо!

С этим ini_set("pcre.backtrack_limit","1000000000000"); работает

Но, если я правильно понимаю, так лучше не делать. Может Вы подскажите, как лучше поступить в моем случае?

p.s. Для тех у кого подобная проблема, попробуйте использовать http://www.php.net/manual/tw/function.preg-last-error.php
La5erWind:
Решение оказалось простое :)

preg_match_all('|\{%(.{1,50})%\}(.+)\{%/\\1%\}|Uusix', $html1.$html2, $matches)

dimagolov, еще раз спасибо за наводку.

Вопрос решен, тему можно закрыть.

Эта тема на forum.dklab.ru