[pmwiki-devel] bug(?) report: preg_replace() problem

Petko Yotov 5ko at 5ko.fr
Fri Mar 27 10:21:22 CDT 2009


On Friday 27 March 2009 15:17:52 Peter Bowers wrote:
> On Fri, Mar 27, 2009 at 1:32 PM, Petko Yotov <5ko at 5ko.fr> wrote:
> > On Thursday 26 March 2009 17:31:02 Peter Bowers wrote:
> > >    preg_replace('/(a)/e', 'strtoupper($1)', 'asdfasdfasdfasdf');
> > >
> > > I'm running into a situation where it is returning AsdfAsdfasdfasdf
> > > (without replacing all occurrences).
...
> If it helps at all I narrowed it down to needing about 3900 lines (each
> with a PTV def) in ThrottlePage before the problem disappeared. (Note that
> I still had 8-10 "(:markup:) [=...=]" markups and it worked without
> difficulty once the data on that page was more limited.)  Around the 3900
> mark the behavior started getting non-repeatable -- reloading the page 3-4
> times would result in different results. 

Maybe the problem is that the parsed data page is extermely huge, above the 
PCRE backtrack search limits. Try to place in config.php such a line:

  ini_set('pcre.backtrack_limit', 1000000*10); #*10 = ten times PmWiki default

Note that this should probably be below your PHP memory limits.

Thanks,
Petko



More information about the pmwiki-devel mailing list