Okay, so I'm slightly confused. Here is the code I have now, but I just found out the e
modifier is deprecated. How do I convert it to a preg_replace_callback()
? I still haven't figured it out.
$post = preg_replace("/\[code\]([^] )\[\/code\]/e", 'code(\'$1\')', $post);
If memory serves, preg_replace_callback()
gives you the results of a $match
from preg_match()
as input, and expects the final result as output. So you'd need to write a function that returns e.g. "code('{$match[1]}')"
.
It can be an inline function, naturally, if php 5.3 is an option:
preg_replace_callback($regex, function($match) {
// do stuff
return $stuff;
}, $subject);
来源:https://stackoverflow.com/questions/16367404/how-to-convert-preg-replace-e-to-preg-replace-callback