Тема: [Релиз] Массовое изменение сообщений по шаблону
Недавно пришлось решать проблему, возникшую после смены домена и переноса на другой хостинг одного крупного форума. При переносе не учли, что внутренние адреса, смайлы, картинки и прочие будут указывать на старый домен. После переноса, в силу высокой посещаемости и быстрого обновления бд сообщений, восстановление из преобразованного дампа уже не рассматривалось. Пришлось сделать скрипт, который "на живую" обходит все сообщения и меняет текст по шаблону. Скрипт ложится в админку и работает по запросу вида адрес_форума/admin/clean_post.php. Он не требует дополнительных мер защиты, т.к. защищается штатными средствами, т.е. воспользоваться скриптом может только админ.
В качестве шаблонов используются только регулярные выражение (пусть вас не смущает галка в настройках - она не работает), поэтому их надо соотвественно экранировать, причем внешние экранирующие символы не нужны, скрипт это сделает сам.
Т.е. например чтобы заменить доменное имя надо будет в шаблон вписать следующее:
http:\/\/my\-forum\.ruЭто соответствует _http://my-forum.ru
ВНИМАНИЕ!Для использования необходимо знать основы регулярных выражений!
ВНИМАНИЕ! АХТУНГ!
Если не хотите безвозвратно потерять БД, перед использованием сделайте копию БД! Проверьте вашу копию БД, что она содержит данные а не мусор!
Используйте на свой страх и риск, никакие претензии не принимаются!