должен вывести "<?php echo 'some text'; ?>", а не "some text".
Дело было в том, что вложенный в echo код выполнялся по тому, что сам скрипт запрашивался не напрямую а через другой скрипт, который его подключал. То есть в скрипте 1 было написано <?php include('путь/к/скрипту2'); ?>.
должен вывести "<?php echo 'some text'; ?>", а не "some text".
Расскажите лучше, как вы это получили.
У меня под рукой сейчас два десятка версий PHP от 5.1 до 5.6 - все возвращают <?php echo 'some text'; ?>, как и должны.
zooks: это не важно, что думает браузер, даже наоборот, нельзя использовать htmlspecialchar. Главное что-бы код не выполнялся. Генерируемая страница читается не браузером. Она служебная