Javascript + конвертировать "<b>" в реальный жирный шрифт - PullRequest
0 голосов
/ 18 октября 2011

Я использую плагин 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>.Это выглядит так на его твиттер-сайте, а также на моей странице.

Я не знаю, что он делает неправильно, и мне все равно, мне просто интересно, смогу ли я преобразовать их в настоящий жирный шрифт на своем сайте, добавив еще одиннесколько строк в функции выше?

Ответы [ 4 ]

1 голос
/ 18 октября 2011

Проверьте источник, есть хороший шанс, что я на самом деле &lt и &gt вместо < и >.так что регулярное выражение, которое ищет &lt;b&gt;

1 голос
/ 18 октября 2011

обратите внимание на флаг '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>');
}
0 голосов
/ 18 октября 2011

HTML-символы были закодированы

Попробуйте это

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

0 голосов
/ 18 октября 2011

Это всего лишь предположение, но плагин Twitter возвращает возвращенный HTML -

&lt;b&gt;

если это так, вы можете заменить экранированный контент -

replace(new RegExp('&lt;b&gt;','g'),'<b>').replace(RegExp('&lt;/b&gt;','g'),'</b>')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...