Страница 1 из 2

Замена bbcode

Добавлено: 20.07.2017 12:27
Vlad__
Видео ютюба были в ббкодах [video][/video]
Как по всей базе форума заменить их на [media][/media] ?
SQL запросом пойдет?

Re: Замена bbcode

Добавлено: 20.07.2017 12:30
Татьяна5
Переименовать media в video и сделать репарсинг сообщений

Re: Замена bbcode

Добавлено: 11.10.2018 18:10
Alecto
Прошу помощи...

Возникла необходимость избавиться от старых ббкодов на форуме, есть такие конструкции:

Код: Выделить всё

[imw][/imw]
[imw={NUMBER}]{URL}[/imw]
[im={IDENTIFIER},{NUMBER}]{URL}[/im]
[imh={NUMBER}]{URL}[/imh]
[ims={NUMBER1},{NUMBER2}]{URL}[/ims]
все надо заменить на стандартный

Код: Выделить всё

[img][/img]
каким запросом можно сделать замену?

Re: Замена bbcode

Добавлено: 11.10.2018 19:17
Татьяна5
Зависит от версии форума. Обработка ббкодов разная

Re: Замена bbcode

Добавлено: 11.10.2018 19:23
Alecto
сегодня обновился, последний, 3.2.3

я пробовал отсюда Массовая замена бб-кода файл replace.php, но ничего не получилось (вернее скрипт показал 29к+ замен, а по факту все в базе так и осталось).
экспортировать базу, сделать замены редакторе и закачать - не вариант?

Re: Замена bbcode

Добавлено: 11.10.2018 19:28
Татьяна5
Вариант, если БД не очень большая
Заменить, потом пройтись репарсингом

Re: Замена bbcode

Добавлено: 11.10.2018 21:17
Alecto
Татьяна5, вроде получается, спасибо.

Еще вопрос...
Обнаружил очень много "битых" ббкодов вида

Код: Выделить всё

[img][/img]
вместо

Код: Выделить всё

[img:hash][/img:hash]
их можно как-то заменой поправить? если например в битый ббкод добавить двоеточие и подставить "отфонарное" значение из любого работающего ббкода, репарсинг STK сможет исправить получившуюся конструкцию?

Re: Замена bbcode

Добавлено: 11.10.2018 21:42
Татьяна5
Это для 3.2 не битые, это как раз нормальные. Вот с хешем битые, их репарсить надо

Re: Замена bbcode

Добавлено: 11.10.2018 21:45
Alecto
понял. сейчас попробую удалить хэш по маске.

Re: Замена bbcode

Добавлено: 11.10.2018 22:06
Татьяна5
В таком случае ббкоды станут просто текстом. В БД сейчас другой тип разметки (рядом с ббкодами, в скобках <>), её без репарсинга получить проблематично

Re: Замена bbcode

Добавлено: 11.10.2018 22:16
Alecto
да, просто текст.
я избавился от хэша в открывающем и закрывающем кодах, теперь репарсинг?

Отправлено спустя 7 минут 36 секунд:
репарсинг ббкод по максимальному варианту оставил просто текст.
не пойму, как быть. на форуме почти 50 000 изображений, не пересохранять же каждый пост?

Отправлено спустя 6 минут 22 секунды:
у меня в базе вот это

Код: Выделить всё

[img]http&#58;//i020&#46;radikal&#46;ru/0911/5b/db6853f8825a&#46;gif[/img]
должно быть чтото типа этого

Код: Выделить всё

<IMG src=\"http://i020.radikal.ru/0911/5b/db6853f8825a.gif\">
но как получить нужный вариант, если репарсинг сообщений stk ничего не делает?????

Отправлено спустя 33 минуты 4 секунды:
вобщем получилось.
проблема была в криво работающем stk, который за один раз обрабатывал ровно половину ббкодов, т.е....
показывает 20к - сделано, ОК.
запускаю повторный репасинг, уже 10к - ОК.
5к, 2.5к... и тд с надцатого захода все ббкоды были обработаны и теперь картинки отображаются.

Re: Замена bbcode

Добавлено: 12.10.2018 0:05
Sheer
Alecto писал(а):
11.10.2018 23:03
за один раз обрабатывал ровно половину
Ентиресна... с этого места по-подробнее пжалста. Какой вариант репарсинга использовался? Полный или выборочный по форумам?

Re: Замена bbcode

Добавлено: 12.10.2018 0:08
Beer
Я запросами к БД все делал на локалхосте, а потом в STK на хостинге - там есть поле для ввода запроса. У меня много смайлов выводилось как текст после конвертации из SMF, т.к. там другая разметка. В общем делал так:
1. Выбираем интересующие записи для просмотра:

Код: Выделить всё

SELECT phpbb_posts.post_text, phpbb_posts.post_id, post_text from phpbb_posts WHERE (
post_text RLIKE 'ЧТО_ИЩЕМ' 
)
2. Меняем то, что нужно на требуемое:

Код: Выделить всё

UPDATE phpbb_posts SET post_text = REPLACE (post_text, 'ЧТО_ИЩЕМ', ' <E>sm64</E> ');
Пьем пиво.

Re: Замена bbcode

Добавлено: 12.10.2018 0:11
Alecto
Sheer,
так делал http://prntscr.com/l51a22
Репарсинг абсолютно всех BBCode:
Beer, спасибо большое за совет.
пока справился, но возможно придется еще ббкоды чистить, воспользуюсь.

Re: Замена bbcode

Добавлено: 29.12.2018 23:14
ronim
Надеюсь что в правильную ветку пишу
был ранее ВВ код для ютуба
в таком виде [youtube]CzozJFJXtqg[/youtube] для примера , потом установил расширение Advanced BBCode Box
соответственно ранние ссылки перестали работать , можно же ли их подружить с расширением Advanced BBCode Box