Задать вопрос
@ikerya

Как сделать .replace, чтобы добавить в начало найденной строки свой текст, если его нету в начале этой же, найденной строки?

Допустим, у меня есть такое регулярное выражение:
/((http(s)?:\/\/(www\.)?)?[a-zA-Z]+(\.[a-zA-Z0-9]+)?\.[a-zA-Z0-9]+(\/)?([^\s]*))/g;

Оно может словить ссылку toster.ru, так и должно быть, но я использую эту регулярку для поиска ссылок в тексте и заменяю их на теги в этом же тексте вот так:

params.text.replace(links_regexp, `<a href="$1" target="_blank">$1</a>`);

И, понятное дело, что если http:// или https:// в ссылке нету, то при переходе по этой ссылке, пользователя перебросит на сайт.ру/ссылка, то есть, сосчитает за папку этого сайта. Так вот, как можно добавить в ссылку http://, если его там нету?
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov
Web developer
Вторым параметром replace указывайте не строку, а callback-функцию, в которой и сделайте нужную вам проверку наличия протокола.
https://developer.mozilla.org/en-US/docs/Web/JavaS...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы