Странное ограничение знаков в bbcodes.

Попробую четко объяснить проблему.
Прежде всего скажу, что: максимальное количество символов в сообщении:
Количество символов, разрешенное в сообщении — установлено 0.

На форуме (кроме всего прочего) публикуются переводы участников, библиографии авторов детективного жанра и так далее. Как правило, они очень большие.

Для всех «длинных» текстов используются различные bbcode. Для примера: more (скрытый текст), scroll, textarea, Tabs BBCode. Вкладки в сообщении. (вместе с ББ код Таблица), legend.

Проблема: В некоторых bbcode есть непонятный баг — «критическое» число знаков. Если больше (примерно) 23 - 24 страницы ворда (плюс минус 6000 слов; то есть примерно 47000 знаков с пробелами), то эти ббкода работать не хотят.

Все работает без проблем в textarea, more, legend. Хоть в разы увеличивай текст.

А в bbcode scroll, вкладки и таблице, где это намного важнее, начинаются траблы. Как только количество знаков превышает «критическое» число, то bbcode начинает косячить. В частности:
Скролл «вылетает». То есть весь текст, но уже не в скролле, а как в обычном сообщении. Только в начале и в конце тэги — [scroll] и [/scroll]. А в bbcode “вкладки» вместе с bbcode “таблица”, сообщение просто “исчезает” — оно пустое. Вместо сообщение — пустое место.

Я провел пару экспериментов. Применял вкладки без ббсода таблиц, просто ббкод “таблица” без ббкода “вкладки”. Результат один — сбой.


Причем все это никак не связано с количеством инфы в сообщении. Вместо одного скролла для рассказов делаю два (искусственно разбивая рассказ на две части) и все прекрасно помещается в одном сообщении. И тоже самое с вкладками/таблицами. Делаю вторую и все ок.

Эти непонятки критичны для моего форума. К примеру, разбивая рассказ на две части, нужно быть аккуратным, чтобы во втором скролле (в видимой его части) не было спойлеров (чего-то раскрывающего секрет произведения) , что для детективной беллетристики — «смерть». О библиографиях я даже не говорю. Вместо того, чтобы была одна таблица с десятком вкладок (романы, рассказы циклы, герои, награды, кинемотография и так далее), приходится делать несколько таблиц и в них по пару вкладок.

Помогите все таки разобраться. В чем проблема? В чем разница в HTML заменах этих ббкодов — если одни работают нормально, а другие «капризничают».
Комментарии: 29

CabinetAdmin 07 дек 2017, 18:10 Сообщение

Пока по тестирую на тестовом.
Ббкод с текстом в белым блоком у меня отработал без проблем, символов около 55000. Сейчас попробую в таблице и с табами.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

CabinetAdmin 07 дек 2017, 18:28 Сообщение

Попробовал таблицу и табы. В них по 90000 знаков, отработало на отлично. В таблице у меня две колонки и в табах тоже две вкладки.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

ПитерПетр 07 дек 2017, 19:56 Сообщение

Честно говоря я даже уже не знаю как задать вопрос чтобы меня поняли. Я не сомневался в том, что ббсоды рабочие. В них нигде нет каких либо ограничений. Почему я выделил эту тему. Все приведенные bbcode "родственные". Все они в той или иной форме делают одно — создают некий текстовой блок (или блоки — не суть). В фиксированной "площадке", в скролле, в таблицах, в скрытом, в окантовке и так далее. Я бы еще как то бы пытался сам понять и где рыть, если бы "ограничение" срабатывала во всех этих "родственных" bbcodes. Но почему в одних есть проблема, а в других нет? Этого я понять не могу.
Может в "фирменных" файлах стиля что-то похожее есть. Может какие-то моды привели к такой проблеме? Где и в каких файлах стиля вообще такое может быть? Где и что проверять.
  • 0

CabinetAdmin 08 дек 2017, 16:53 Сообщение

Нет никаких ограничений на какой либо тип тегов и никогда не было, по крайней мере в чистом phpbb.

Вы говорите что ббкод перестаёт отрабатывать с определённого количества символов, я создал сообщение с таким же количеством, местами в разы большим, и он у меня отрабатывает.
Питер писал(а):если бы "ограничение" срабатывала во всех этих "родственных" bbcodes. Но почему в одних есть проблема, а в других нет?
Ббкод, в готовом сообщении, это обычная html структура и единственная разница у них только в типах элементов. У вас не работают три ббкода: "scroll, вкладки и таблица". Html структура этих ббкодов как раз таки "родственная", если можно так выразиться - структура у них выполнена из блочных элементов.
Ббкод вкладок начинается с <div class="tabs_block">, div это блочный элемент, так же как и table. Белый блок с текстом у вас тоже выполнен с помощью div.

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

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

<div style="width: auto; height:300px; background:#FFFFFF; overflow:auto; border:1px solid #000000; padding:8px;">{TEXT}</div>
я предлагаю сделать так:

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

<span style="width: auto; height:300px; background:#FFFFFF; overflow:auto; border:1px solid #000000; padding:8px; display:block;">{TEXT}</span>
визуально и функционально ничего не изменится, но по факту вместо блочного элемента будет строчный.

Если будет какой-то результат, то уже можно будет заняться другими ббкодами.



зы. Помню как видел когда-то проблему с ббкодом с большим содержимым, но там при публикации вываливалось в белую страницу, насколько помню проблема была в слабом хостинге.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

ПитерПетр 08 дек 2017, 17:03 Сообщение

Увы. Ничего не изменилось.
Все равно в одном, как я описывал в заглавном посте.
  • 0

ПитерПетр 16 дек 2017, 19:03 Сообщение

ХМ. А ведь изменилось то. Причем как то странно.
Я попробую объяснить словами. Если не сумею, то сделаю на своем форуме наглядный пример.
Как я написал выше, большие тексты у меня разделены на несколько скроллов. После того, как сделал изменение, которое вы предложили, то просто попробовал большой текст и его все также выкинуло из скролла. Поэтому я и не увидел изменений. Но, сегодня, редактируя один из рассказов, вернее повесть (а в ней 12 глав и они разделены на 5 скроллов) заметил изменение. Все вышло в один скролл, но как то странно. Каждый отдельный текст, разделенный тэгами скролла, как бы находится внутри "родственного". Прокручиваешь первый, как только есть закрывающий и следом открывающий тег, внутри первого появляется второй. Прокручиваешь второй, все тоже самое до разделения на третий. И так до конца. Причем, я даже этого бы не заметил, если бы текст с примечаниями, который уже вне скролла, тоже там не оказался. Причем непонятно почему. После всех этих скроллов в скролле, любой текст, который пишу после окончательно закрывающего тэга, все равно оказывается внутри.

То есть. Никакого ограничения нигде нет. В один скролл вместилась целая повесть. Но как то странно вместилось.
Я понятно объяснил? Сможете помочь? Или мне сделать тему, чтобы вы видели наглядно?

P.S. Сделал новый тэг скролл, чтобы не "ломать" темы с несколькими скроллами. И провел пару экспериментов. Есть странности. К примеру в рассказах я использую вместе с скролл bbcode nocopy. Если его нет, то текст просто делиться на два скролла, как в первом варианте. Нет этого эффекта скролл в скролле. Какая связь, не понимаю.

Вообщем надо как то разбираться. Главное что никаких ограничений в блоках нет и хостинг не слабый.
CabinetAdmin писал(а): но по факту вместо блочного элемента будет строчный.
Словно какое-то ограничение знаков в блоках. Опять все упирается блоки и строки. Ведь в nocopy есть div.
  • 0

CabinetAdmin 18 дек 2017, 16:40 Сообщение

Лучше сделайте пример. Если есть ошибки, то их хотя бы увидеть можно будет.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

ПитерПетр 18 дек 2017, 16:49 Сообщение

http://impossible-crimes.ru/Forum/viewt ... 536#p47536

Тут два скролла. Если больше, то получается как "матрешка": третий во втором, второй в первом.
И видно, то что я писал раньше — данные о переводчике, другие доп. данные, примечания, которые должны быть вообще вне скролла, уже в нем.
  • 0

CabinetAdmin 18 дек 2017, 17:00 Сообщение

Очень похоже что в каком то ббкоде нет закрывающего тега...
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

ПитерПетр 18 дек 2017, 17:06 Сообщение

Есть все. Если использую обычный вариант скролла, то есть два скролла и все что нужно, вне. Вот обычный вариант: http://impossible-crimes.ru/Forum/viewt ... 299&t=2240
Куда я могу выслать вам "голый" текст со всеми тэгами?
Тут получится длиннющая "простыня".
  • 0

CabinetAdmin 18 дек 2017, 17:13 Сообщение

Тут ббкод на дивах, а там на спанах, лучше покажите как у вас выглядит ббкод используемый в предыдущей теме.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

ПитерПетр 18 дек 2017, 17:16 Сообщение

Обычный (несколько скроллов)

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

<div style="width: auto; height:300px; background:#FFFFFF; overflow:auto; border:1px solid #000000; padding:8px;">{TEXT}</div>
"Матрешка" — то, что вы дали новый:

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

<span style="width: auto; height:300px; background:#FFFFFF; overflow:auto; border:1px solid #000000; padding:8px; display:block;">{TEXT}</span>
  • 0

CabinetAdmin 18 дек 2017, 17:52 Сообщение

Да, тут всё нормально. Но симптом явно говорит что не закрыт какой-то тег. А наполнение одинаковое? Может банально в каком то другом ббкоде ошибка...
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

ПитерПетр 18 дек 2017, 18:16 Сообщение

В обеих приведенных примерах наполнение абсолютно идентичное. Одни и те же тэги (абзацы, примечания, кое-где прописной текст и так далее) Один в один.
Разница только в HTML замене.
И кстати. Тут тоже непонятки. Я провел несколько экспериментов:
Такое впечатление, что эта "матрешка" возникает из-за тэга nocopy. Текст построен так:

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

[scroll1][nocopy]далее текст[nocopy][scroll1]
Следующий скролл точно так же.
И вот что странно. В так виде получается два скролла, как в обычном варианте. Если же я "играюсь" с порядком тэгов скролла и ноукопи, то выявляются странности.
Сейчас сделал так:

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

[scroll1][nocopy]текст одного скролла[/scroll1][/nocopy]
Второй:

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

[nocopy][scroll1]текст второго[/nocopy][/scroll1]
"Матрешка" осталась (можно посмотреть по первой ссылке), но все что за пределами скролла, уже отдельно. Но без ноукопи, никакого эффекта. Просто два скролла.
Что-то такое есть в этом ноукопи, что помогает решить проблему ограничения знаков в скролле, но со странным эффектом. Может получиться понять что именно и попробовать решить проблему в общем.

Не оставляет чувство, что словно какое ограничение в "блоках". Я уже даже портал отключал, хотя и там нет никаких ограничений.
  • 0

Похожие темы