From PHP documentation (http://php.net/manual/en/function.preg-replace.php)
5.5.0 The /e modifier is deprecated. Use preg_replace_callback() instead. 5.5.0 The /e modifier is deprecated. Use preg_replace_callback() instead.To be serious: According to the article, the call to preg_replace() was part of the backdoor added by the attackers, it wasn't a pre-existing hole in the site code.