我用正则expression式很糟糕。 我试图取代这个: public static function camelize($word) { return preg_replace('/(^|_)([az])/e', 'strtoupper("\\2")', $word); } 带有匿名函数的preg_replace_callback。 我不明白“2”在做什么。 或者就此而言,preg_replace_callback是如何工作的。 什么是实现这个正确的代码?
$result = preg_replace( "/\{([<>])([a-zA-Z0-9_]*)(\?{0,1})([a-zA-Z0-9_]*)\}(.*)\{\\1\/\\2\}/iseU", "CallFunction('\\1','\\2','\\3','\\4','\\5')", $result ); 上面的代码在升级到PHP 5.5之后给出了一个弃用警告: 已弃用 :preg_replace():/ e修饰符已弃用,请改用preg_replace_callback 我怎样才能用preg_replace_callback()代替代码?