Я заменяю тег "#" ссылкой, используя функцию ниже,
$('.content').each(function(index) { $(this).html($(this).html().replace(/(#\w+)/g, "<a target='_self' class='msg_links' href='http://test.com/search/q=$1'>$1</a>")); });
Предположим, строка выглядит следующим образом:
"Hello how are you #frineds, whats going on?"
Она повторяется следующим образом:
"Hello how are you <a href='http://test.com/search/q=#frineds'>#frineds</a>, whats going on?"
Вместо того, чтобы хотеть это нравится
"Hello how are you <a href='http://test.com/search/q=%23frineds'>#frineds</a>, whats going on? "
Как я могу сделать это, используя Jquery?
-Благодарю Абхишек
Вам нужно либо использовать encodeURIComponent в соответствующей строке:
encodeURIComponent
$(this).html($(this).html().replace(/(#\w+)/g, function($0, $1) { return "<a target='_self' class='msg_links' href='http://test.com/search/q=" + encodeURIComponent($1) + "'>" + $1 + "</a>"); });
Или исключить # из совпадения и сделать %23 жестко закодированным:
#
%23
$(this).html($(this).html().replace(/#(\w+)/g, "<a target='_self' class='msg_links' href='http://test.com/search/q=%23$1'>$1</a>"));