The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()

This commit is contained in:
Andrew Udvare 2013-04-10 22:20:58 -07:00 committed by Fabien Potencier
parent c8bd45b2c7
commit b22d2ff925

View File

@ -33,10 +33,11 @@ class RegisterKernelListenersPass implements CompilerPassInterface
} }
if (!isset($event['method'])) { if (!isset($event['method'])) {
$event['method'] = 'on'.preg_replace(array( $event['method'] = 'on'.preg_replace_callback(array(
'/(?<=\b)[a-z]/ie', '/(?<=\b)[a-z]/i',
'/[^a-z0-9]/i' '/[^a-z0-9]/i',
), array('strtoupper("\\0")', ''), $event['event']); ), function ($matches) { return strtoupper($matches[0]); }, $event['event']);
$event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']);
} }
$definition->addMethodCall('addListenerService', array($event['event'], array($id, $event['method']), $priority)); $definition->addMethodCall('addListenerService', array($event['event'], array($id, $event['method']), $priority));