Ilmari Karonen (2011-01-30 15:19):
On 01/30/2011 04:16 PM, Platonides wrote:
Ilmari Karonen wrote:
Hmm... I don't really know what's going on inside PHP's PCRE implementation, but you might want to try replacing that regexp with:
$parser->add( '/\\/\\*.*?\\*\\//s' );
The add()s are combined into a single big regex, you can't set dot-all. Doing it with (?s) may be factible, though.
Hmm, so maybe:
$parser->add( '/(?s:\\/\\*.*?\\*\\/)/' );
Or if that doesn't work, try something else that matches everything without parens, like [\s\S] or [\d\D].
Personally I like the [\s\S] construct, but maybe adding ?: in the parentheses would work:
$parser->add( '/\/\*(?:.|[\r\n])*?\*\//' );
Just guessing, but maybe the problem occurred because the script was trying to catch something in them...
Cheers, Nux.