Jump to content

Не заменяются bb-коды в сообщениях [ipb 3.4.6]


kanv1s
 Share

Recommended Posts

Добрый день.

 

Столкнулся со следующей проблемой.

По всему форуму в сообщениях стали отображаться bb коды (см. пример одного из постов http://joxi.ru/9E2p1nDc7nZxAY).

 

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

Но на форуме около сотни тысяч сообщений и в ручную все перебирать очень долго.

 

Подскажите пожалуйста, можно ли как нибудь решить эту проблему махом?

Link to comment
Share on other sites

Перепробовал все что связано с перестройкой контента, обновлениями хеша форума и стиля. Не помогает.

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

Бестолку.

Link to comment
Share on other sites

Перепробовал все что связано с перестройкой контента, обновлениями хеша форума и стиля.

Кеши форума и стилей не имеют никакого отношения, а вот перестройку контента зря сделали. Поэтому и поломались теги.

Link to comment
Share on other sites

Сбрасывал, не помогло.

 

Кеши форума и стилей не имеют никакого отношения, а вот перестройку контента зря сделали. Поэтому и поломались ббкоды.

Это я от безысходности. BB коды поломались после миграции некоторых разделов с phpbb форума. Использовал ipb-шный конвертер, все прошло в штатном режиме без ошибок, если не считать умершие бб коды :(

Link to comment
Share on other sites

И не поможет (см тему выше). Поможет наверное только бэкап. color в принципе можно поправить в старом парсере, но что с font не знаю.

Link to comment
Share on other sites

Или откатить бэкап

Или написать несколько регулярны выражений для изменения ббкодов обратно в html. Здесь, как минимум, нужен весь список невалидных ббкодов. Пока я только font и color вижу.

Link to comment
Share on other sites

Скрипт для фикса битых ббкодов в сообщениях и подписей.

 

1. Загрузить в корень форума.

2. Запустить и дождаться окончания замены. По умолчанию парсятся по 100 постов за проход.

 

convert.php

  • Upvote 2
Link to comment
Share on other sites

Если есть ssh, пофиксить сообщения также можно файлом из дистрибутива /Tools/rebuildPosts.php. Но работает он только для сообщений и требует небольшую правку.

 

Найти

					$rawpost = $this->newParser->BBCodeToHtml( $r['post'] );

Выше добавить

					$r['post'] = $this->convertBbcode( $r['post'] );

 

Найти

protected function _fetchOption()
{
	return trim( fgets( $this->stdin ) );
}

Ниже добавить

public function convertBbcode( $txt ){
	$count = 0;

	do{
		$txt = preg_replace( '/\[color=["\']?(.*?)["\']?\](.*?)\[\/color\]/', '<span style="color:$1">$2</span>', $txt, -1, $count );
	}
	while( $count );

	do{
		$txt = preg_replace( '/\[font=["\']?(.*?)["\']?\](.*?)\[\/font\]/', '<span style="font-family:$1">$2</span>', $txt, -1, $count );
	}
	while( $count );

	return $txt;
}

  • Upvote 1
  • Downvote 1
Link to comment
Share on other sites

  • 2 months later...

Скрипт для фикса битых ббкодов в сообщениях и подписей.

 

1. Загрузить в корень форума.

2. Запустить и дождаться окончания замены. По умолчанию парсятся по 100 постов за проход.

 

convert.php

А как запустить? Просто у меня то же проблемы с BB кодами

Edited by Евгений777
Link to comment
Share on other sites

Перейти в адресной строке по ссылке

{Ваш_форум}/convert.php

Не помогло,может это не совсем то.В общем проблема появилась после установки ssl на форум,до установки ssl, bb коды работали,а сейчас даже шапки нет над сообщением.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...