Regex durch HTML-Tags in Direktive ersetzen

Ich benutze Angular JS, um zu bekommen undng-repeat über Twitter Tweets. Ich musste Teile der Tweet-Zeichenfolge hervorheben, z. B.@tag und#hash, also wurde vorgeschlagen, ich benutzereplace, um DOM-Wrapper zu den Dingen hinzuzufügen, die ich hervorheben möchte.

Das Problem ist, da ich nicht direkt auf dem DOM ausgebe, und stattdessenng-repeating Über eine Bereichsvariable scheinen die HTML-Tags nicht zu den Zeichenfolgen hinzugefügt zu werden.

Frag: Wie kann ich HTML-Tags an einen JS-String anhängen?

Direktives Snippet:

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>

Antworten auf die Frage(6)

Ihre Antwort auf die Frage