Help with Error: POSIX collating elements are not supported

Michel Fortin michel.fortin at michelf.com
Fri Dec 9 19:04:00 EST 2011


Le 2011-12-09 à 16:27, Doug Heavrin-Brown a écrit :


> Hello,

>

> I hope this is the right place to get help fixing an error when using Markdown on our servers.

>

> I'm not sure what our webmasters have done, but a recent change (perhaps to PHP?) made our Markdown text disappear from the page because of an error.

>

> PHP Warning: preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Compilation failed: POSIX collating elements are not supported at offset 116 in /[PATH]/markdown.php on line 974

>

> Searching for help turned out to be mostly fruitless, except for a page pointing to rows 977-981, where one poster says commenting out those lines stops the error.

>

> http://forum.theturninggate.net/viewtopic.php?f=8&t=1738

>

> That is correct, but it also stops unordered lists from being formatted. While we can live with that for now (because Markdown has worked so well so far) that won't do in the long run.

>

> There were other pages that mention PRCE, but that seemed to be with a different version of PHP (our servers are running 5.2.9 -- and we are not able to change that).

>

> We have not found anyone who has the proper skills and is also able to help us with this problem.

>

> Has anyone encountered this before and is there a way to fix it?



I guess it's my fault for not updating PHP Markdown fast enough. Sorry. :-)

I've been made aware of it in September, but I haven't checked it yet. It might be that a PHP update is causing it, although it seems I would be getting more emails if that was the case. Perhaps not that many people have warnings enabled, or perhaps they just silently fill up everyone's server logs and nobody look at those logs and so nobody tells me.

The warning message could be clearer, but I suspect PCRE is treating specially character classes in regular expressions that starts with a dot, warning that POSIX character classes (which starts with a dot) are not implemented. The solution should be to replace any instance of "[." in any regular expressions with "[\.".

--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/





More information about the Markdown-Discuss mailing list