Мистика с preg_replace, кто-нибудь сталкивался с таким?

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Как только получится так урезать строку, чтобы и данные были "незакрытые" и "глюк" сохранялся, - обязательно покажу.
Вот тогда и поговорим.

А вот Ваш тон мне не нравится. Хоть-бы извинился за "вешать лапшу"
С какой стати?. Мое мнение, к сожалению, не изменилось.
 

mars37

Новичок
Автор оригинала: Mr_Max
Лично я не вижу желания помочь самому себе
А я не вижу, что Земля круглая, ну и что, она не круглая?
Давайте здесь будем обсуждать проблему, а не людей, хорошо?

-~{}~ 02.10.07 15:51:

С какой стати?. Мое мнение не изменилось.
Т.е. Вы утверждаете, что я лгу? Так?
А если я буду утверждать, что Вы - убийца, и писать что моё мнение не изменилось...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
mars37
Да поймите-же наконец пока не будет входной строки ВАМ никто не поможет.

Давайте здесь будем обсуждать проблему, а не людей, хорошо?
Давайте Вы будете помогать нам решать её?

Т.е. Вы утверждаете, что я лгу? Так?
А если я буду утверждать, что Вы - убийца, и писать что моё мнение не изменилось...
Вот и чудненько.

На этом офтоп следует прекратить.
 

andymc

Новичок
Попробуй это:
PHP:
$content = file_get_contents('1.html');
$s = preg_replace("~{if:(.*)}.*{/if:\\1}~isU", '*******', $content);
echo htmlspecialchars($s);
 

mars37

Новичок
SiMM, спасибо.
Проблема решена: "Increase the value of pcre.backtrack_limit"
Блин! Два дня на неё угробил!
 

GeT

Новичок
Странно, у меня и по метру файлики подобные были (в CMS есть подобные конструкции с IF'ами) и все нормально работало.
Или это только 5ого PHP проблема?
 

mars37

Новичок
GeT
Да, написано что с какой-то версии php5.2.x Почитай ссылку http://bugs.php.net/bug.php?id=41580

Итак, решение проблемы может быть например таким:
PHP:
ini_set('pcre.backtrack_limit', 500000);
ini_set('pcre.recursion_limit', 500000);
Или в ini-файле править...
 
Сверху