Замена текста или части кода в постах WordPress с помощью регулярных выражений regexp

Однажды у меня возникла необходимость удалить выравнивание изображений в 1500 постах WordPress. Это можно было сделать с помощью функции «очистить форматирование» вручную или удалением img class=»align…» что влекло за собой огромные затраты времени.

Плагины типа Search and Replace или массовая работа с постами (типа Bulk post edit» — не дали результата, так как не работали со строками, которые содержали упоминание wordpress image (номер картинки, который всегда разный). Глобальная замена — невозможна из-за части кода с номером картинки. Замена такого же текста через PHPMyAdmin — тоже невозможна из-за того, что нет поддержки regexp.

Решение было найдено с помощью единственного PHP-скрипта, который устанавливается на сервер, где работает ваш Worpdress — Database Search and Replace in PHP. Он поддерживает Regexp, что позволит найти текст с wildcard (с любыми вариантами текста в пределах кода).

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

решение моей проблемы

Строка для поиска кода, который нужно удалить

img class="(.*?)"

строка для замены

img

PHP-скрипт работает по прямой ссылке в каталог, где вы его установили (распаковать и все).

Проверьте работу с помощью кнопки run dry сначала и проверьте результат.

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

Удачи!

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *