- preg_replace_callback: documentation ( source)
- strtr: documentation ( source)
<?php
preg_replace_callback(
'~\[admin(.+?)\[/admin\]~is',
function($m) {
return '[admin' . strtr(un_htmlspecialchars($m[1]), array("\n" => ' ', ' ' => '  ')) . '[/admin]';
},
'[admin]test[/admin]'
);