Выдрать комментарии, как уже писали выше, можно через рефлексии. Правда это особо не поможет их заменить.
А вот обработать комментарии можно так:
function translateComments($file)
{
$expr = "/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/";
$source = file_get_contents($file);
preg_match_all($expr, $comments, $source); //capture the comments
foreach($matchs[0] as $id => $phpdoc){
$source = str_replace($phpdoc, translateText($phpdoc), $source); // replace the scores of empty
}
file_put_contents($file, $source);
}
Пример абстрактен, но суть должна быть ясна. Хотя логично эту регулярку через preg_replace_callback прогнать.