ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (2): [1] 2 »   

> Без описания
1Bot
Отправлено: 10 марта 2012 — 20:06
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 738
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 68




Дополнение: Отображение пробелов в начале каждой строки поста

Добавить в файле \include\fm.class.php в функции formatpost
перед строкой
CODE:
return nl2br($string);

следующее
CODE:
// заменить все пробелы в начале каждой строки до первого символа на  
// и все табуляции в начале каждой строки до первого символа на 8  
$string = preg_replace_callback("/^(\s+)(.*)$/m",
create_function(
'$matches',
'return str_replace(array(" ", "\t"), array(" ", "        "), $matches[1]) . $matches[2];'
),
$string);

Прикреплено изображение (Нажмите для увеличения)
mod.jpg
 
 
yura3d
Отправлено: 10 марта 2012 — 21:35
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




1Bot
Вариант решения проблемы в принципе хороший. Возможно, правда, лучше было бы исходный текст заключать в теги <pre></pre>, тогда и не понадобилось бы вставлять в исходный текст страницы столько html-сущностей для пробела и табуляции Хм
 
 
NordWest
Отправлено: 11 марта 2012 — 06:59
Post Id



Модератор
Super Member


Покинул форум
Сообщений всего: 960
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 73




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

Цитата:
исходный текст заключать в теги <pre></pre>
Вот здесь говорят, что табуляция не всеми браузерами корректно обрабатывается.
 
 
1Bot
Отправлено: 11 марта 2012 — 09:34
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 738
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 68




yura3d пишет:
Возможно, правда, лучше было бы исходный текст заключать в теги <pre></pre>, тогда и не понадобилось бы вставлять в исходный текст страницы столько html-сущностей для пробела и табуляции

Мной єтот вариант рассматривался в первую очередь, но при заключении текста в скобки <pre></pre> есть другая проблема:
в конце той же функции formatpost стоит вызов функции nl2br
CODE:
return nl2br($string);

который в тексте внутри скобок <pre></pre> заменит все переходы на новую строку тегом <br>, и в результате получится текст с кодом в котором каждая строка будет отделятся от другой переносом строки и кодом <br>, т.е. визуально будет по пустой строке между строками текста.
 
 
NordWest
Отправлено: 11 марта 2012 — 18:38
Post Id



Модератор
Super Member


Покинул форум
Сообщений всего: 960
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 73




Применил вариант, предложенный 1Bot - нормально работает.
Только теперь, как я понял, все посты прогоняются через подобное форматирование.

Хотя логичнее наверное это втиснуть только для текста, обрамленного тегами code? Или пойти ещё более радикально - для текста, обрамленного тегами code подключить подсветку синтаксиса, особенно учитывая, что PHP кода на форуме пруд пруди. Естественно ни на чем не настаиваю - просто мысли в слух.
 
 
1Bot
Отправлено: 23 марта 2012 — 20:46
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 738
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 68




NordWest пишет:
Хотя логичнее наверное это втиснуть только для текста, обрамленного тегами code


Думаю что форматирование необходимо и для текста тоже, а не только для кода (в обычном тексте отступы вначале абзацев тоже важны).
 
 
NordWest
Отправлено: 22 апреля 2012 — 12:06
Post Id



Модератор
Super Member


Покинул форум
Сообщений всего: 960
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 73




Есть один минус и я вчера его реально почувствовал. Растерялся

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

(Отредактировано автором: 22 апреля 2012 — 12:07)

 
 
1Bot
Отправлено: 25 апреля 2012 — 10:58
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 738
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 68




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


Поподробнее опишите проблему - буду решать.
 
 
NordWest
Отправлено: 25 апреля 2012 — 11:41
Post Id



Модератор
Super Member


Покинул форум
Сообщений всего: 960
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 73




Если в редакторе внутри функции вставлены табуляторы, а потом текст кода этой функции разместить на форуме то получаем неприятный эффект. Скопированный назад из браузера код в редакторе уже не находится.
 
 
1Bot
Отправлено: 26 апреля 2012 — 07:03
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 738
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 68




NordWest пишет:
Если в редакторе внутри функции вставлены табуляторы, а потом текст кода этой функции разместить на форуме то получаем неприятный эффект.


Посмотрите внимательно на описание -- Дополнение: Отображение пробелов в начале каждой строки поста.

Данное дополнение и не предназначено для исправлений табуляций и пробелов внутри строк, а лишь в их начале.
 
 
NordWest
Отправлено: 26 апреля 2012 — 10:30
Post Id



Модератор
Super Member


Покинул форум
Сообщений всего: 960
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 73




Действительно. Не в дополнении дело. Просто как-то первое, на что подумал. Подмигивание

Но вот интересно - а в чем же тогда дело?
 
 
1Bot
Отправлено: 26 апреля 2012 — 16:21
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 738
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 68




NordWest пишет:
Но вот интересно - а в чем же тогда дело?


Дело в том, что для браузеров серия табуляций или пробелов в HTML-коде является лишь разделителем между словами и при отображении показывается лишь пробелом (и то если это не начало параграфа, там вообще эти разделители не выводятся).
 
 
NordWest
Отправлено: 26 апреля 2012 — 18:03
Post Id



Модератор
Super Member


Покинул форум
Сообщений всего: 960
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 73




Спасибо, учту на будущее.
 
 
Parapsixolog
Отправлено: 30 марта 2018 — 11:42
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 456
Дата рег-ции: Сент. 2011  
Репутация: 13




Всем добрый день! Вот и я задумался о пробелах в сообщениях и в общем форматировании текста. И вот что получается в движке exbb. По умолчанию, без дополнения 1Bot, пробелы в начале строк действительно не отображаются, сколько бы пробелов не ставь.

Идём дальше. С дополнением 1Bot ситуация немного получше, пробелы в начале строк отображаются, кроме самой первый строки. И количество пробелов правильное, такое, какое есть в исходном тексте. Один пробел в тексте, один пробел и в посту, а два в тексте, и в посту два.

Но хотелось бы, что бы пробелы верно отображались не только в начале строк, но и везде, по всему тексту. Как это сделать?

Вот проверочный текст:

Без пробелов:

00000

Один пробел между цифрами:

1 1 1 1 1 1 1 1 1

Два пробела между цифрами:

2 2 2 2 2 2 2 2 2

Три пробела между цифрами:

3 3 3 3 3 3 3 3 3

Прогрессирующий пробел между цифрами:

0 1 2 3 4 5 6 7 8 9

То есть между 8 и 9 девять пробелов. А по факту отображается 1 пробел. Убедиться в наличии пробелов можно нажав кнопку "Правка", оказывается в исходном тексте все пробелы на месте, кроме самого первого, он автоматически пропадает.

Как выправить это дело? То есть отображать абсолютно все пробелы которые есть в исходном тексте? Если бы exbb правильно отображал текст, это было бы замечательно.

Кстати проблема с пробелами есть не только в exbb, но и в других движках, даже в юкозе.
 
 
Parapsixolog
Отправлено: 31 марта 2018 — 12:26
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 456
Дата рег-ции: Сент. 2011  
Репутация: 13




Оказывается тему по поводу не простановки пробелов уже подымали, в 2016 году - http://exbb.info/community/topic...=5&topic=406

И похоже воз до сих пор там. Не ужели так и нет решения?
 
 
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Модификации и дополнения »

> Похожие темы: Дополнение: Отображение пробелов в начале каждой строки поста
Темы Форум Информация о теме Обновление
картинки к темам
Для каждой темы слева можно поместить картинку, своеобразную иконку...
Установка и обновление Ответов: 3
Автор темы: manfil
18 марта 2009 — 11:44
Автор: yura3d
Дополнение : всплывающее окно авторизации
Модификации и дополнения Ответов: 1
Автор темы: electron
15 июля 2014 — 21:06
Автор: Mishanya75
Дополнение: Знак зодиака пользователя
Модификации и дополнения Ответов: 0
Автор темы: altjo
5 декабря 2010 — 20:16
Автор: altjo
Дополнение: Создание нового пользователя
Добавляет в админку кнопку для создания нового пользователя
Модификации и дополнения Ответов: 1
Автор темы: NordWest
10 апреля 2018 — 09:41
Автор: NordWest
Дополнение : скрытие/открытие ссылок от гостей в админцентре
Модификации и дополнения Ответов: 1
Автор темы: electron
9 июня 2017 — 09:39
Автор: electron
 



Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

Parse error: syntax error, unexpected $end in /home/exbb/exbb.info/www/community/include/page_tail.php on line 75