Javascript AngularJS用连续单词突出显示用户名

Javascript AngularJS用连续单词突出显示用户名,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个角度绑定,如下所示: <p ng-bind="user.content"></p> 我希望它以html格式打印,在用户名@lorem中添加span,并使用下一个连续的单词ipsum。因此,生成的html应该是: <span>@lorem ipsum</span> dolor set amet @lorem ipsum dolor set amet 我在网上搜索了一下,但只找到了几个解决方案,这些解决方案只能用普通的javascript

我有一个角度绑定,如下所示:

<p ng-bind="user.content"></p>
我希望它以html格式打印,在用户名@lorem中添加span,并使用下一个连续的单词ipsum。因此,生成的html应该是:

<span>@lorem ipsum</span> dolor set amet
@lorem ipsum dolor set amet

我在网上搜索了一下,但只找到了几个解决方案,这些解决方案只能用普通的javascript而不能用下一个连续的单词高亮显示用户名。感谢您的帮助。

不幸的是,正则表达式仅适用于选择器
因此您必须将用户名与文本的其余部分分开

通常,文本已使用带有用户名的
span
pre
标记保存

e、 g:

中的文本请尝试以下操作:

$('p').html(
    $('p')
        .html()
        .replace(/^([^\s]+)\s([^\s]+)/, "<span>$1 $2</span>")
);
$('p').html(
$('p')
.html()
。替换(/^([^\s]+)\s([^\s]+)/,“$1$2”)
);

我真的不知道AngularJS,但是如果你能告诉我一件事,我也许可以回答你的问题。用户名是否总是
p
标记值的第一个单词?@JacquesMarais是的,它总是第一个单词。我也可以使用jQuery添加span@charlietfl你能给我提供参考资料吗这顶帽子可能有助于解决这个问题answer@SahilJariwala更新了我的答案,它现在应该可以工作了。你需要用()创建组。它不会像这样工作。你能帮我使用JSFIDLE吗?因为上面的代码似乎不起作用。谢谢。
$('p').html(
    $('p')
        .html()
        .replace(/^([^\s]+)\s([^\s]+)/, "<span>$1 $2</span>")
);