Примерно так должно работать:
$text = "abc/def/*/xyz";
function rep($matches)
{
return "/replacement";
}
echo preg_replace_callback("|/\*.*|", "rep", $text);
Вам действительно нужно использовать preg_replace_callback?Вот эквивалентная версия с preg_replace:
$text = "abc/def/*/xyz";
echo preg_replace("|/\*.*|", "/replacement", $text);