Поиск и замена текста в базе данных

Когда я менял домен, мне пришлось столкнуться с проблемой смены домена во всех постах и страницах, так как WordPress указывает ссылки с абсолютным адресом. Последнее значит, что ссылка содержит домен. То есть не зависимо от того, какой адрес вписан в адресной строке браузера, ссылка будет переводить на тот домен, который указан в коде.

Короче говоря, всё это значило, что фактически я ссылался на другой ресурс, то есть это были всё внешние ссылки. Чтобы ручками всё не переписывать, я нашел более простое решение. Идея была такой, чтобы непосредственно в базе данных с помощью парочки запросов сменить в тексте постов, а также в других полях таблиц, один домен на другой. И сменить его не только в ссылках, но и в адресах изображений.

В поисках такого запроса, я наткнулся на стандартную SQL-функцию  REPLACE, о которой я и хотел бы вам сегодня рассказать.

Общий вид этой функции достаточно прост и не думаю, что требует каких либо пояснений:

REPLACE(`поле`, 'текущее значение', 'новое значение')

А нужный запрос выглядит следующим образом:

UPDATE `таблица` SET `поле` = REPLACE(`поле`, 'текущее значение', 'новое значение');

Отправляем такой запрос в любую вашу систему управления базой данных, например, в PhpMyAdmin, и получаете нужный результат. Могу сказать, что практически на всех хостингах используется PhpMyAdmin в качестве СУБД. 😉

В каких случаях может понадобиться такой запрос?

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

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

И ещё один пример. При переносе сайта с локального сервера также могут возникнуть проблемы с абсолютными ссылками. Например, такое может возникнуть при переносе WordPress.

Конечно можно придумать ещё кучу примеров, но я не стану, а просто завершу свой пост. Возможно, вам пригодится такой запросик. :)

Современный веб-дизайн достаточно интересная, но сложная штука. Читайте блоги о веб-дизайне, они вам помогут!

Вам также будет интересно почитать и следующие записи

4 комментариев

  • Виталий:

    Было бы неплохо узнать, как это сделать: «Отправляем такой запрос в любую вашу систему управления базой данных….»

  • Сергей Фещуков:

    @ Виталий, зайти в PhpMyAdmin, открыть вкладку SQL и вперед.

  • Виталий:

    ОК, спасибо!

  • KidCool:

    Делайте бекап перед тем как будете реплейсить.
    У меня все поля где замену делал в кракозяблы превратились

  • Добавить комментарий