[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать... » Сохранить отступы

Сохранить отступы
[1] serge_007 [30.12.2012, 23:22]
Всем здравствуйте

Если некий текст с отступами оформить тегами [cоde], то всё отображается как положено, правильно, однако в самописных тегах этого не получается (см. картинки)



Что и где надо добавить, что бы отступы отображались так же как в тегах [cоde]?

Спасибо
Прикрепления: 6727144.gif (16.8 Kb) · 9557750.gif (15.4 Kb)


Сообщение отредактировал serge_007 - Воскресенье, 30.12.2012, 23:25
[2] likbezz [31.12.2012, 00:00]
serge_007,
Цитата (serge_007, Вс, 30.12.2012, 23:22:38)
Что и где надо добавить, что бы отступы отображались так же как в тегах [cоde]?

Написать функцию, достаточно сложную, что бы обрабатывала ваши самописные теги, и пробелы в них, и заменяла обычные на неразнывные пробелы.
Так как как при добавлении обычные пробелы удаляются/сжимаются до одного включительно.
[3] serge_007 [31.12.2012, 00:32]
Спасибо!

Разве replace('пробел','неразрывный_пробел') не решают задачу?
[4] likbezz [31.12.2012, 01:16]
serge_007,
Цитата (serge_007, Пн, 31.12.2012, 00:32:32)
Разве replace('пробел','неразрывный_пробел') не решают задачу?

- конечно решают)
Вот только косяк будет - разопрет весь блок, так как все пробелы будут заменены на непрерывные, везде .. и текст вытянется в одну строку.
Так что нужно определять ваши теги, и только в них менять. В этом и есть сложность.
[5] serge_007 [31.12.2012, 01:20]
Цитата (likbezz, Пн, 31.12.2012, 01:16:20)
все пробелы будут заменены на непрерывные, везде

А других пробелов, в тех кодах, которые вставляются в теги, не бывает
Так что и надо заменять ВСЕ

Добавлено (31.12.2012, 01:20)
---------------------------------------------

Цитата (likbezz, Пн, 31.12.2012, 01:16:20)
текст вытянется в одну строку

Это ещё почему?
Есть же и переводы строк. Их то ни на что менять не будем
[6] likbezz [31.12.2012, 02:14]
serge_007,
Цитата (serge_007, Пн, 31.12.2012, 01:20:49)
А других пробелов, в тех кодах, которые вставляются в теги, не бывает

Вы невнимательно прочитали, что я написал.
Вы предложили просто весь текст прогнать через replace, так вот - весь - это значит ВЕСЬ, а не только там, где вы хотите.
Многие, в том числе и я, пишем длинные предложения, без переводов строк, которые ну никак не уместятся одной строкой в ширину форума, если заменить обычные пробелы, по которым разрешен перенос, на неразрывные, по которым запрещен перенос строки.

И тогда будет вот так:
Цитата
Многие, в том числе и я, пишем длинные предложения, без переводов строк, которые ну никак не уместятся одной строкой в ширину форума, если заменить обычные пробелы, по которым разрешен перенос, на неразрывные, по которым запрещен перенос строки.

..
[7] serge_007 [31.12.2012, 02:24]
Цитата (likbezz, Пн, 31.12.2012, 02:14:28)
Вы невнимательно прочитали, что я написал
Внимательно

Цитата (likbezz, Пн, 31.12.2012, 02:14:28)
Вы предложили просто весь текст прогнать через replace, так вот - весь - это значит ВЕСЬ, а не только там, где вы хотите

Мне и надо ВЕСЬ текст, который мы используем в тегах, "прогнать" через replace

Цитата (likbezz, Пн, 31.12.2012, 02:14:28)
Многие, в том числе и я, пишем длинные предложения, без переводов строк

Тут дело в другом
Теги будут использоваться для кодов на VBA, в которых переводы строк являются обязательным условием для того что бы код работал
Вероятность того, что кто-то не использует перевод строки в коде почти равна нулю, по крайней мере, я за более чем три года, на десяти форумах по Excel не встречал такого.
Так что такой возможностью можно пренебречь, ввиду её ничтожности
[8] likbezz [31.12.2012, 02:39]
serge_007,
Теперь понятнее?

Цитата (likbezz, Пн, 31.12.2012, 01:16:20)
Так что нужно определять ваши теги, и только в них менять. В этом и есть сложность.
[9] serge_007 [31.12.2012, 02:44]
$('div.bbтеги').each(function(){
$(this).html($(this).html().replace('пробелы','неразрывные_пробелы'))

Так
Цитата (likbezz)
определять теги, и только в них менять

нельзя?


Сообщение отредактировал serge_007 - Понедельник, 31.12.2012, 02:44
[10] likbezz [31.12.2012, 02:47]
serge_007,
Цитата (serge_007, Пн, 31.12.2012, 02:44:16)
нельзя?

Цитата (likbezz, Пн, 31.12.2012, 00:00:52)
Так как как при добавлении обычные пробелы удаляются/сжимаются до одного включительно.

Заменять нужно ДО добавления, а не после.
После там уже нет кучи пробелов.
* *

До:



После:



...
Прикрепления: 0392597.png (3.8 Kb) · 0788755.png (1.9 Kb)
[11] serge_007 [31.12.2012, 02:48]
Не видел что пост отредактирован

Так есть варианты делать это ДО?


Сообщение отредактировал serge_007 - Понедельник, 31.12.2012, 02:50
[12] likbezz [31.12.2012, 02:54]
serge_007,
Цитата (serge_007, Пн, 31.12.2012, 02:48:57)
Так есть варианты делать это ДО?

Есть:
Цитата (likbezz, Пн, 31.12.2012, 00:00:52)
Написать функцию, достаточно сложную, что бы обрабатывала ваши самописные теги, и пробелы в них, и заменяла обычные на неразнывные пробелы.

Когда они еще в виде BB-кодов, то бишь в самой форме.
[13] serge_007 [31.12.2012, 03:12]
likbezz, возьмётесь?


Полная версия сайта