Доделанная версия, основанная на заменах Regex, не справляется с пересечениями маркеров типа __ ... _ ... __ ... _ (генерирует некорректную разметку вида <strong> ... <em> ... </strong> ... </em>)