Pair upgraded our web server last night, and in spite of all the work I did to get the blog software updated in advance, it still got broken. All of my Markdown-formatted posts are displaying the following message:
Warning: preg_replace_callback() [function.preg-replace-callback]: Unknown modifier ‘|’ in /usr/www/users/vanderve/sonicchicken.net/blog/wordpress/wp-content/plugins/text-control Folder/text-control/markdown.php on line 766
The old server was running a modified version of FreeBSD 4.8 and PHP 4. The new server is FreeBSD 6.2-based and running PHP 5. I’m guessing that the upgraded PHP and something in WordPress 2.2 aren’t getting along…
Disabling the Text Control plugin (which I’m using to provide Markdown support on a per-post basis) takes care of the nasty error message above, so at least my Markdown posts are showing up. And fortunately bare Markdown is relatively easy to read.
Problem solved! Thanks to [Warpspire for documenting the simple solution](http://warpspire.com/tipsresources/programming/php-511-markdown-and-wordpress-kaboom/). I grabbed the [latest markdown.php](http://www.michelf.com/projects/php-markdown/) and updated in two places: