Javascript +将“<b>”转换为实际的粗体字</b>

时间:2011-10-18 15:02:15

标签: javascript regex replace

我正在使用jTwitter plugin来获取Twitter Feed。我正在使用它与一个功能,使返回的文本中的链接可以点击。

该功能如下所示:

function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp,"<a href='$1' target='_blank'>$1</a>"); 
}

一切正常,但发送推文的人总是试图用粗体制作部分内容。它看起来像<b>Bla</b>。它在Twitter网站上和我的页面上看起来都是这样。

我不知道他做错了什么,我也不在乎,我只是想知道我是否可以通过在上面的函数中添加另外几行来改变我网站上实际大胆的那些?

4 个答案:

答案 0 :(得分:1)

检查来源,我很有可能&lt&gt而不是<>。那么寻找&lt;b&gt;

的正则表达式也是如此

答案 1 :(得分:1)

注意'g'标志,告诉替换应用于所有匹配。

function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text
       .replace(exp,"<a href='$1' target='_blank'>$1</a>")
       .replace(new RegExp('&lt;b&gt;','g'),'<b>')
       .replace(new RegExp('&lt;/b&gt;','g'),'</b>');
}

答案 2 :(得分:0)

这只是一个猜测,但是Twitter插件返回HTML转义 -

&lt;b&gt;

如果是,您可以替换转义的内容 -

replace(new RegExp('&lt;b&gt;','g'),'<b>').replace(RegExp('&lt;/b&gt;','g'),'</b>')

答案 3 :(得分:0)