Javascript Jquery检测命令/自定义BBcode

Javascript Jquery检测命令/自定义BBcode,javascript,jquery,regex,bbcode,Javascript,Jquery,Regex,Bbcode,因此,我希望能够检测到我论坛上的用户在帖子中写了什么,并相应地更改它的CSS。比如说, [hl color:'yellow']example test[/hl] 应在文本上应用强光: style="background-color: yellow" 我希望jQuery代码检测[hl color:如果成功,将'之间的值保存在变量中,然后测试剩余的]。然后,我希望它将style=“background color:”+var应用于]之后和[/hl]之前的文本 提前谢谢 当前未加工代码: $('.

因此,我希望能够检测到我论坛上的用户在帖子中写了什么,并相应地更改它的CSS。比如说,

[hl color:'yellow']example test[/hl]
应在文本上应用强光:

style="background-color: yellow"
我希望jQuery代码检测
[hl color:
如果成功,将
'
之间的值保存在变量中,然后测试剩余的
]
。然后,我希望它将
style=“background color:”+var
应用于
]
之后和
[/hl]
之前的文本

提前谢谢

当前未加工代码:

$('.post').each(function() {   
  if($(this:contains('[hl color:'))) {
    var txt = [I have no idea];
    $(select the text in between tags).attr('style', 'background-color:' + txt);
  }
});
选项1:使用库 已经有很多JavaScript库可以解析BBC代码。看起来很有希望,并且是可扩展的,因此您可以添加自己的标记。您也可以考虑在服务器端(使用PHP或您所使用的任何东西)使用那里的库(如PHP)进行解析。

选择2:自己动手 这不需要实际的jQuery。相反,对于简单的标记,regex执行以下操作:

function bbcodeToHTML(bbcode) {
  return bbcode.replace(
           /\[\s*hl\s*color\s*:\s*(.*?)\s*\](.*?)\[\s*\/\s*hl\s*\]/gi,
           '<span style="background-color:$1;">$2</span>'
         );
}

有关jQuery的更多信息,您可以随时查看。

请显示一些努力?您对所谓的请求jQuery代码做了什么?如果有,请附上你的问题好的,高兴吗?JQueryDon补充道,不要对此感到不高兴,因为这是提问的正确方式,而不是我个人的意见。如果你不想得到反对票,那是唯一的办法。顺便说一句,这取决于用户界面真的不知道如何做,我在这里的原因,所以我如何使用这个我想要的。我以前从未遇到过regex,我将它重写为一个可以使用的函数。每当您有一个带有BBCode的变量(或者更确切地说是它的一个标记子集)时,调用该函数将其作为HTML。我不知道你从哪里得到BBCODE或者你想把HTML放在哪里,所以我不能帮助你。我在这里猜测,但是你想让它运行每当论坛页面被查看,并取代所有帖子的内容吗?是的,这就是我想考虑更新你的问题,以更清楚地反映这一点。我已经更新了我的答案。
//Itterate over all forum posts.
jQuery('.post').each(function() {

    //Get a reference to the current post.
    currentPost = jQuery(this);

    //Get the content ant turn it into HTML.
    postHTML = bbcodeToHTML(currentPost.html());

    //Put the html into the post.
    currentPost.html(postHTML);

});