То, что вы описываете, потенциально хрупкое и значительно уступает просто , позволяющему сжатие .
Было бы полезно, если вы обновите свой вопрос, чтобы сказать, почему вы хотите это сделать.
Однако вы можете сделать это так:
ob_start();
require('file');
echo = preg_replace(array("@[\r\n\t]+@", '@>\s+<@', '@\s+@', '@\s?{\s?@', '@\s?}\s?@'), array('', '><', ' ', '{', '}'), ob_get_clean());
Даже в этом случае вы, вероятно, обнаружите, что вам удастся удалить ненужные пробелы, особенно если вы запускаете его на javascript и пропускаете точку с запятой.