У меня есть следующая функция:
function formattedTitle(posttitle,hreflink) {
return `<a href='`+ hreflink +`'>` + posttitle.replace(/(^|\s)(#[-.\w]+)/gi, `$1</a><a class="hashtag" href='/search?q=hashtag:"$2"'>$2</a><a href='`+ hreflink + `'>`) + '</a>';
}
Когда я запускаю
console.log(formattedTitle('This is #awesome news','google.com'));
Он выводит:
<a href='google.com'>This is </a><a class="hashtag" href='/search?q=hashtag:"#awesome"'>#awesome</a><a href='google.com'> news</a>
function formattedTitle(posttitle, hreflink) {
return `<a href='` + hreflink + `'>` + posttitle.replace(/(^|\s)(#[-.\w]+)/gi, `$1</a><a class="hashtag" href='/search?q=hashtag:"$2"'>$2</a><a href='` + hreflink + `'>`) + '</a>';
}
console.log(formattedTitle('This is #awesome news', 'google.com'));
Обратите внимание, как он включает "#" в совпадении $ 2. Как я могу исключить символ хэштега в атрибуте hashtag:
, но сохранить его между значением href?
Таким образом, вывод должен выглядеть следующим образом:
<a href='google.com'>This is </a><a class="hashtag" href='/search?q=hashtag:"awesome"'>#awesome</a><a href='google.com'> news</a>
Мне удалось получитьэто работает, выполнив другую замену всей вещи, чтобы заменить '/search?q=hashtag:"#
на '/search?q=hashtag:"
, но мне интересно, возможно ли это без второй замены?