Regex substituir por tags html na diretiva

Estou usando o JS angular para obter eng-repeat sobre tweets do Twitter. Eu precisava destacar partes da sequência do tweet, como@tag e#hash, então foi sugerido que eu usereplace para adicionar wrappers DOM em torno das coisas que quero destacar.

O problema é que, como não estou enviando diretamente para o DOM, em vez dissong-repeating sobre uma variável de escopo, as tags html não parecem ser adicionadas às strings.

Pergunta, questão: Como posso anexar tags html a uma string JS?

Fragmento de diretiva:

scope.getTweets = function () {
    ModulesService.getTweets().success(function (res) {
        if (res && Array.isArray(res)) {
            scope.tweets = parseTweets(res);
        }
    });
};
scope.getTweets();
var parseTweets = function (tweets) {
    tweets.forEach(function (tweet) {
        tweet.text.replace(/(@[^ ]+)/g, '<a class="user">$1</a>').
        replace(/(#[^ ]+)/g, '<span class="hash">$1</span>').
        replace(/(https?:\/\/[^ ]+)/g, '<a href="$1">$1</a>');
        console.log('tweet!', tweet.text); //does not contain altered HTML
    });
    return tweets;
};

HTML:

<div ng-repeat="tweet in tweets" class="post-body clearfix">
    {{tweet.text}}
</div>

questionAnswers(3)

yourAnswerToTheQuestion