НЕ МОЖЕТ добавить целевой атрибут к привязке - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь преобразовать текстовый URL в интерактивную ссылку HTML, все идет хорошо, но я не могу добавить атрибут (цель).Я не получаю никаких ошибок.Вот код:

 let text= 'https://www.google.com';
 let exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
 let text1=text.replace(exp, "<a href='$1'>$1</a>");
 let exp2 =/(^|[^\/])(www\.[\S]+(\b|$))/gim;
 let message = text1.replace(exp2, '$1<a target="_blank" href="http://$2">$2</a>');

Вывод: <a href="https://www.google.com">https://www.google.com</a>

1 Ответ

2 голосов
/ 02 июня 2019

Нет необходимости в двух проходах. Просто включите цель в вашу первоначальную замену:

let text= 'https://www.google.com';
let exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
let text1=text.replace(exp, '<a target="_blank" href="$1">$1</a>');
// -------------------------^---^^^^^^^^^^^^^^^------^--^-------^
console.log(text1);

Так как вы, кажется, хотели двойные кавычки вокруг _blank (это не обязательно), я изменил кавычки вокруг вашей строки замены на ' (и использовал " вокруг href).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...