Javascript + Convert "< >"到实际的粗体

Javascript + Convert "<b>" to actual bold font

本文关键字:quot Convert Javascript      更新时间:2023-09-26

我正在使用jTwitter插件来获取Twitter提要。我将它与一个函数结合使用,该函数使返回文本中的链接可单击。

函数是这样的:

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>。在他的推特网站和我的页面上都是这样的。

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

注意'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>');
}

检查来源,很有可能它实际上是&lt&gt而不是<>。所以用正则表达式查找&lt;b&gt;

HTML字符已被编码

试试这个http://www.prodevtips.com/2008/10/21/jquery-plugin-html-decode-and-encode/

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

&lt;b&gt;

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

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