Jquery 如何在特定@words周围添加span元素

Jquery 如何在特定@words周围添加span元素,jquery,css,hashtag,mention,Jquery,Css,Hashtag,Mention,我有用户反馈板,我已经在网站上对其他用户实施了@提及。一旦另一个用户被@提及,它就会出现在他们的收件箱中,并通知他们“在帖子中被@提及” 当文章显示时,它当前以纯文本的形式显示@提及-如中所示: “嗨@JoeBlow,今天干得不错……” 然而,我想做的是在@title names周围放置一个元素,使其变为蓝色,或者以某种方式使@title脱颖而出,如: Hi@JoeBlow,今天干得不错……” 我不熟悉正则表达式,我甚至不确定这是否是正确的方法 我不认为这是CSS的事情,必须是: a) 通过PH

我有用户反馈板,我已经在网站上对其他用户实施了@提及。一旦另一个用户被@提及,它就会出现在他们的收件箱中,并通知他们“在帖子中被@提及”

当文章显示时,它当前以纯文本的形式显示@提及-如中所示:

“嗨@JoeBlow,今天干得不错……”

然而,我想做的是在@title names周围放置一个
元素,使其变为蓝色,或者以某种方式使@title脱颖而出,如:

Hi@JoeBlow,今天干得不错……”

我不熟悉正则表达式,我甚至不确定这是否是正确的方法

我不认为这是CSS的事情,必须是:

a) 通过PHP动态吐出
b) 使用一点jQuery进行处理(最好)

我可以简单地通过
str_replace()
找到每个
@
并尝试进行一些疯狂的替换文本移动,但是问题是每个用户名都不是固定长度的。那么,我如何才能知道每个用户名要用
元素中包装的字符串替换多长时间呢

不管怎样,这听起来像是一个肮脏的黑客

我想现在已经有了一些插件来实现@ntification或#hashtaging

或者可能是定制的


任何想法都会受到欢迎。

一种简单的jQuery方法,用空格分割字符串,这样你就可以从文本字符串中得到一个数组,然后检查是否有以#或@开头的单词,然后用span换行并将其放回数组,最后加入数组并以HTML格式输出

$('div')。每个(函数(){
var textArry=$(this.text().split(“”);
$.each(文本数组、函数(索引){
if(textArry[index].match(“^#”)| | textArry[index].match(“^@”))
textArry[index]=''+textArry[index]+'';
});
var输出=textArry.join(“”);
$(this).html(输出);
});
。提及{
颜色:红色;
}

“嗨@JoeBlow,今天干得好…”
“嗨@JoeBlow,@Jack今天干得多好啊…”
“嗨#JoeBlow,今天干得好…”

“嗨Joe@Blow,我的电子邮件是xyz@gmail.com“
一种简单的jQuery方法,用空格分割字符串,从文本字符串中获得一个数组,然后检查是否有以#或@开头的单词,然后用span换行并将其放回数组,最后加入数组并以HTML格式输出

$('div')。每个(函数(){
var textArry=$(this.text().split(“”);
$.each(文本数组、函数(索引){
if(textArry[index].match(“^#”)| | textArry[index].match(“^@”))
textArry[index]=''+textArry[index]+'';
});
var输出=textArry.join(“”);
$(this).html(输出);
});
。提及{
颜色:红色;
}

“嗨@JoeBlow,今天干得好…”
“嗨@JoeBlow,@Jack今天干得多好啊…”
“嗨#JoeBlow,今天干得好…”

“嗨Joe@Blow,我的电子邮件是xyz@gmail.com“
您可以使用jQuery wrapInner()函数您可以使用jQuery wrapInner()函数