Только сейчас заметил что в процесс апгрейда то что было в старых постах под спойлером накрылось.
В базе всё сохранилось. Но самого текста что был под спойлером на форуме не видно.
Как я вижу в 3.3.х в базе спойлер хранится тэгом как и виден в редакторе текста.
Думаю решить это серией реплейсов.
1)начало открывающего тега спойлер до "заголовка"
UPDATE ibf_posts
SET post=REPLACE(post,'<!--SPOILER BEGIN--><div class="quotetop" onClick="OpenSpoiler('fd08ee683da9db4dcb552488caf5dfe7')" style="cursor: hand"><b><u>« <!--SPOILER TITLE-->','[spoiler='')
2) окончание открывающего тега после "заголовка"
UPDATE ibf_posts
SET post=REPLACE(post,'<!--SPOILER TITLE END--> »</u></b></div><div class="quotemain" id="fd08ee683da9db4dcb552488caf5dfe7" style="display:none"><!--SPOILER END-->','']')
3)закрывающий тег
UPDATE ibf_posts
SET post=REPLACE(post,'<!--SPOILER DIV--></div><!--SPOILER DIV-->','[/spoiler]')
далее, как я понимаю, придётся делать ребилд постов
ВОПРОСЫ:
1)Правилен ли подход? Есть ли что нибудь порациональнее?
2)у каждого спойлера есть id из 32 знаков. в приведенном выше примере это fd08ee683da9db4dcb552488caf5dfe7.
помогите, пожалуйста, откорректировать запросы и внедрить в них REGEXP на 32 знака в соответствующем месте.
Спасибо
P.S. вижу тут уже косяк с одинарными кавычками
в тех местах где написана замена я писал &# 39; (без пробела)
но сам id в оригинале действительно заключён в одинарные кавычки. и этому тоже надо найти решение
Сообщение изменено: Boris (13 Октябрь 2012 - 19:51)