Попробуйте token_get_all () ...
<?php
$sampleCode = "
<?php
/**
* This is a comment
*/
function foo() {
$x = 1;
$y = $x + 1;
return $y;
}
";
$tokens = token_get_all($sampleCode);
$cleanedCode = "";
foreach ($tokens as $token) {
if (is_array($token)) {
if ($token[0] != T_COMMENT && $token[0] != T_DOC_COMMENT) {
$cleanedCode .= $token[1];
}
} else {
$cleanedCode .= $token;
}
}
?>