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


by SENSATION 1 month ago
Массовая замена ссылок в файлах

Все мы часто сталкивается с проблемой быстрой и массовой замены ссылок в коде. Кто пробовал заменять все это руками, понимает, какой это геморрой.
В данной статье, я расскажу вам о том, как всего в пару кликов отредактировать тонну ссылок в одном или нескольких файлах!


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

Для 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 сценариев, данный скрипт не будет заменять ссылки). Данный код размещается в .html или .php файле после тега <body>
Не забудьте заменить ### на вашу ссылку.

<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)); 
</script>

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

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

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