Перейти к контенту

Рекомендуемые сообщения

кстати да, я тут подумал как бы на аякс ее подвесить

тоже думал над этим... но тут только добавлением бб-кода как это сделано у меня не обойтись...

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 132
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Нужно вешать всю подпись целиком на аякс, либо как xRay говорит делать, например выводить подпись яваскриптом, тогда не надо будет несколько раз её в коде упоминать (:
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Напишите готовый код спойлера, такой как на торрентсах. Заранее спасибо.

А то из всей этой темы ничего не понятно.

ОК, напишу для IPB 1.3 + mJournal 1.05

Посмотреть в действии можно здесь: http://vesvalo.net/journal.php?user=1&comm=2620

 

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

 

1. Перерисовал кнопку звука: http://vesvalo.net/html/UBBC/sound.gif

 

2. ubbc.js

Найти дважды:

$txt = preg_replace( "#\[more\](.+?)\[/more\]#is", "<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>Свернутый текст</u></b></div></div><div class='sp-body'><div class='sp-content'>\\1</div></div></div><!--spoilerstend-->", $txt );
$txt = preg_replace( "#\[more=(.*?)\](.*?)\[\/more\]#is", "<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>\\1</u></b></div></div><div class='sp-body'><div class='sp-content'>\\2</div></div></div><!--spoilerstend-->", $txt );
$txt = preg_replace( "#\[more\](.+?)\[/more\]#is", "<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>Свернутый текст</u></b></div></div><div class='sp-body'><div class='sp-content'>\\1</div></div></div><!--spoilerstend-->", $txt );
$txt = preg_replace( "#\[more=(.*?)\](.*?)\[\/more\]#is", "<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>\\1</u></b></div></div><div class='sp-body'><div class='sp-content'>\\2</div></div></div><!--spoilerstend-->", $txt );

А после кода:

$txt = preg_replace( "#(<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>Свернутый текст</u></b></div></div><div class='sp-body'><div class='sp-content'>)(.+?)(</div></div></div><!--spoilerstend-->)#is", "\[more\]\\2\[\/more]", $txt );
$txt = preg_replace( "#(<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>)(.+?)(</u></b></div></div><div class='sp-body'><div class='sp-content'>)(.+?)(</div></div></div><!--spoilerstend-->)#is", "\[more=\\2\]\\4\[/more\]", $txt );
$txt = preg_replace( "#(<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>Свернутый текст</u></b></div></div><div class='sp-body'><div class='sp-content'>)(.+?)(</div></div></div><!--spoilerstend-->)#is", "\[more\]\\2\[\/more]", $txt );
$txt = preg_replace( "#(<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>)(.+?)(</u></b></div></div><div class='sp-body'><div class='sp-content'>)(.+?)(</div></div></div><!--spoilerstend-->)#is", "\[more=\\2\]\\4\[/more\]", $txt );

 

 

5.

В стили через админку добавил описания классов:

.sp-body	  { display: none; font-weight: normal; background: #F5F5F5; border-top-width: 0; }
.clickable { cursor: pointer; }
.sp-content{border: 1px solid Gray;  margin-left: 10px;}
.folded { display: block;
background: transparent url(style_images/<#IMG_DIR#>/plus.gif) no-repeat left center; padding-left: 14px; }
.unfolded { display: block;
background: transparent url(style_images/<#IMG_DIR#>/minus.gif) no-repeat left center; padding-left: 14px; }

 

 

6. И файл skin_jinfo.php (для журналов):

После кода:

<script language="javascript" type="text/javascript"><!--
document.cookie="journal=1; path=/";
//--></script>

Добавить:

<script language="JavaScript" type="text/javascript" src="./html/quote.js"></script>
<style>
.sp-body	  { display: none; font-weight: normal; background: #F5F5F5; border-top-width: 0; }
.clickable { cursor: pointer; }
.sp-content{border: 1px solid Gray;  margin-left: 10px;}
.folded { display: block;
background: transparent url(style_images/1/plus.gif) no-repeat left center; padding-left: 14px; }
.unfolded { display: block;
background: transparent url(style_images/1/minus.gif) no-repeat left center; padding-left: 14px; }
</style>

 

 

7.

Добавить в style_images/х/ изображения плюсика и минусика:

http://vesvalo.net/style_images/1/plus.gif и http://vesvalo.net/style_images/1/minus.gif

 

 

FatCat, а нельзя ли как-нибудь снизить лаги в IE 7? :D

Ссылка на комментарий
Поделиться на других сайтах

FatCat, а нельзя ли как-нибудь снизить лаги в IE 7? :D

У меня нет ИЕ7, не встает зараза на w2k.

А что за лаги?

Ссылка на комментарий
Поделиться на других сайтах

А что за лаги?

В IE7 прокрутка тормозит. :) В опере все нормально, в мозиле так себе. :D

Хотя мне почему то кажется что что то со скриптом, т.к. на торрентс.ру у меня нормально. :)

2Arhar, спасибо! Вот только ставил я этот скрипт только потому что он так "крутится". ;) А вообще он у меня даже не на форуме, на сайте. :)

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

можно для 2.3.6 более подробно FAQ?

 

к сожалению в этом сообщении, написано для IPB 1.3

 

пункт 2 - не вижу у себя такого файла ubbc.js и кнопки звука

 

пункт 3 - файл quote.js тоже не нахожу, и что делать с двумя кодами приведенными?

 

В парсере перед кодом
- к сожалению тоже не понял, где это

 

пункт 5

это в > Админцентр > Список стилей > Стили > Главный стиль IPB > IP.Board Pro > Изменить таблицу стилей (CSS расширенный режим) ?

 

в конце вставить с ковычками { } ?

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

Обнаружилась нехорошая бага регулярок.

Независимо от количества памяти у пхп, регулярки перестают работать если под маской (.+?) оказывается довольно длинный текст - в моем случае примерно 180 Кб текста были пределом, выше которого регулярка просто давала белый экран без сообщений об ошибках.

 

Пока не дошли руки все ББ-коды перевести с регулярок на сабстринги, но для этого кода сделал "заплатку":

if(stristr($txt,"[more"))
{
$old_txt = $txt;
while(
	stristr($old_txt,"[more") 
	and stristr($old_txt,"[/more]")
	and strpos($old_txt,"[more") !== false
	and strpos($old_txt,"[/more]") !== false
	and strpos($old_txt,"[more") < strpos($old_txt,"[/more]")
)
{
	$txt = "";
	$txt = substr($old_txt,0,strpos($old_txt,"[more"))."<!--spoilerstart--><div class='sp-wrap'><div class='sp-head-wrap'><div class='sp-head folded clickable'><b><u>";
	$old_txt = substr($old_txt,(strpos($old_txt,"[more")+strlen("[more")));
	if(substr($old_txt,0,1) == "=")$txt .= substr($old_txt,1,(strpos($old_txt,"]")-1));
	else $txt .= "Свернутый текст";
	$old_txt = substr($old_txt,(strpos($old_txt,"]")+1));
	$txt .= "</u></b></div></div><div class='sp-body'><div class='sp-content'>";

	$txt .= substr($old_txt,0,strpos($old_txt,"[/more]"))."</div></div></div><!--spoilerstend-->";

	$old_txt = substr($old_txt,(strpos($old_txt,"[/more]")+strlen("[/more]")));
	$txt .= $old_txt;
	$old_txt = $txt;
}
}

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.