@Mr-Governor
Губернирую

Что за баг при замене (replace) текста?

Всем привет.
Писал я костыль, который парсит html и собирает js скрипты в кучу, и когда мне понадобилось внедрить JQuery возник баг.
Я воссоздал упрощенный его вариант, вот он:

let res = `TEXT_BEFORE_LINK_TO_SCRIPT\n   <script src="../../js/jquery/jquery-3.6.0.js"></script>   \nTEXT_AFTER_LINK_TO_SCRIPT`;
const linkForReplace = `<script src="../../js/jquery/jquery-3.6.0.js"></script>`; // Ссылка которая должна быть удалена
const content = `&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLow`;
res = res.replace(linkForReplace, content); //`<script>\n${content}\n</script>`);
console.log(res);


У меня есть некий текст, и ссылка на script, когда я пытаюсь заменить ссылку на содержимое файла (content), у меня в результат попадает искомый текст (то есть сама ссылка), замещая собой два символа $&
Это можно увидеть прям в консоли браузера.

Может я подустал и просто не понимаю что тут происходит?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
black1277
@black1277
Вольный стрелок
Так $& - Вставляет сопоставившуюся подстроку - вот документация
Заэкранируй символ $ вот так
const content = `&1===e.nodeType)if(r="data-"+t.replace(K,"-$$&").toLow`;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы