⚙️

Массовая замена ссылок в файлах

Массовая замена и редактирование ссылок и текста
У меня в чатеобсуждаем трафик и смешно шутим (не всегда) 👍 https://t.me/wmnotes_chat
В данной статье, я расскажу вам о том, как всего в пару кликов отредактировать тонну ссылок в одном или нескольких файлах!

Текстовые редакторы


Для Windows отличным вариантом будет использовать Notepad++, а для macOS подойдет редактор ATOM. Так же для macOS есть редактор BRACKETS, но у меня с ним как-то не сложилось (не знаю чем думают разработчики notepad++, но поддержки macOS или linux они так и не завезли).

У всех перечисленных выше редакторов есть удобная подсветка синтаксиса, поддержка регулярных выражений и куча различных плагинов, которые сильно упрощают работу. Эти редакторы отлично подойдут для работы с JS, HTML, PHP и другими языками разработки. Мастхев для любого вебмастера.

Замена ссылок


Есть 3 рабочих варианта, как можно заменить ссылки или другие повторяющиеся данные в файле:

  • Прямая замена – Подойдет для замены однотипных ссылок.
  • Через регулярные выражения – Требуется, когда все ссылки имеют разные домены или параметры.
  • Замена ссылок через JS –  Заменяет любые ссылки. Самый простой способ, но нужно понимать как это работает и использовать аккуратно.

Прямая замена


  • Открываем нужный нам файл, жмем ⌘+F или ctrl+F
  • В первом поле вводим ссылку, которую нужно заменить
  • Во втором поле вводим ссылку, на которую нужно произвести замену
  • Жмем кнопку Replace All
  • Проверям результат и сохраняем файл.

Регулярные выражения


  • Открываем нужный файл, жмем CTRL+F или ⌘+F
  • Ставим галку на обработку регулярных выражений

настройки notepad ++ и atom

  • В первом поле поиска вводим данное регулярное выражение:
href="(.*?)"
  • Во втором поле вводим следующую конструкцию:
href="вашассылкадлязамены"
  • Жмем кнопку Replace All
  • Проверям результат и сохраняем файл.

регулярные выражения шпаргалка

Замена в нескольких файлах:


ATOM

  • Жмем File –> Open Project File
  • Добавляем корневую папку, в которой лежат нужные нам файлы (если нам нужно сделать замену во многих файлах)
  • Правой кнопкой мыши жмем на появившейся папке и выбираем пункт Search in folder
  • После замены сверху жмем File –> Save all

Notepad++

  • Жмем ctrl+F
  • Переходим в вкладку Find in files
  • В поле Directory нажимаем три точки и выбираем категорию с файлами
  • Нажимаем Finde all
  • После замены жмем Replace in files
  • Сохраняем файлы

Замена ссылок через JS


Если вам лень всем этим заниматься, то можно заменить все ссылки через JS скрипт (так делают многие, но способ не на 100% правильный, т.к если у юзера отключено исполнение js сценариев, данный скрипт не будет заменять ссылки). Код оборачиваем в <script></script>
Не забудьте заменить ### на вашу ссылку.

(function(window, location) {
var bbURL = '###';
history.pushState(null, document.title, location);
window.addEventListener("popstate", function() {
history.replaceState(null, document.title, location);
setTimeout(function() {
location.replace(bbURL);
}, 0);
}, false);
}(window, location));
document.addEventListener("DOMContentLoaded", function() {
    var a = document.getElementsByTagName("a");
    for(var i = 0; i < a.length; i++)
        a[i].href = "###";
});

document.addEventListener("DOMContentLoaded", function() {
       var links = document.getElementsByTagName("a");
       Array.prototype.forEach.call(links, function (link) {
       link.href = '###';
   });
});

С jquery (на класс .note не рапространяется):

$(document).ready(function() {
  $('a').not('.close').attr('href', '###');
});

С jquery (на класс .note не рапространяется):

$(document).ready(function(){
 $("a").not(".land-link").each(function (i) {
   $(this).attr("target","_blank").attr("href","###")
 });
});

Конструктор регулярных выражений


Используя комбинации из данных регулярных выражений, можно дополнить готовые примеры или создать свои. Если немного разобраться и запомнить парочку комбинаций, то можно сильно упростить себе жизнь.

^ — Символ начала строки
$ — Символ конца строки
. (Точка) — один любой символ
[0-9] — любая цифра
[a-z] — любой символ латинского алфавита в нижнем регистре
[A-Z] — любой символ латинского алфавита в верхнем регистре
[a-zA-Z] и (эквивалент) [a-Z] — любой символ латинского алфавита в любой регистре
\s — символ пробела
\S — (обратно предыдущему) не пробел
\w — любая цифра, буква или подчеркивание
\d — любая цифра
\D — (обратно предыдущему) любой символ, но не цифра
* — Повтор предыдущего символа. То есть символ перед звездочкой может повторяться 0 и более раз. Например: .* — представляет собой абсолютно любой набор символов
\n — символ новой строки
Поделись в соц-сетях
To top