Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Небольшой глюк при вставке кода. 
:(
    Опции темы
korob2001
Дата 17.4.2006, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Привет!
Обнаружил такой недочёт, раньше его не было.
Допустим я вставляю такой код:
Код

#!/usr/bin/perl -w
use strict;

my %hash = <<HASH =~ /\S*?(?:\s|\n)+/g;
key1 value1
key2 value2
key3 value3
key4 value4
key5 value2
HASH

# Сортируем и выводим содержимое хеша
foreach my $key ( sort { $hash{$a} cmp $hash{$b} || $a cmp $b } keys %hash ) {
        print "$key => $hash{$key}";
}

Обратите внимение на первую и последнюю строки, они пустые.  Вставлял так:
Код

{code=perl}
#!/usr/bin/perl -w
use strict;

my %hash = <<HASH =~ /\S*?(?:\s|\n)+/g;
key1 value1
key2 value2
key3 value3
key4 value4
key5 value2
HASH

# Сортируем и выводим содержимое хеша
foreach my $key ( sort { $hash{$a} cmp $hash{$b} || $a cmp $b } keys %hash ) {
        print "$key => $hash{$key}";
}
{/code}

Конечно если сделать вот так:
Код

{code=perl}#!/usr/bin/perl -w
use strict;

my %hash = <<HASH =~ /\S*?(?:\s|\n)+/g;
key1 value1
key2 value2
key3 value3
key4 value4
key5 value2
HASH

# Сортируем и выводим содержимое хеша
foreach my $key ( sort { $hash{$a} cmp $hash{$b} || $a cmp $b } keys %hash ) {
        print "$key => $hash{$key}";
}{/code}

То всё работает. Другими словами, нужно обрезать символ перевода строки который идёт сразу же после тега {code}, а так же перед тегом {/code}, так как это было раньше.
Или это сделано с какой-то целью?
ИМХО: было намного удобнее, так как новый вариант удобен лишь в том случае, если ты написал код, потом выделяешь его и затем жмёшь кнопку "код". Я лично делаю всегда так, пишу код в редакторе, затем копирую его в буфер, после жму кнопку "код", разеляю тэги {code}{/code} символом перевода строки и вставляю код между ними. Получается примерно такая конструкция:
{code}\n
# Здесь код
\n{/code} 

Это сообщение отредактировал(а) korob2001 - 17.4.2006, 08:46


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Girder
Дата 17.4.2006, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Код
#!/usr/bin/perl -w
use strict;
my %hash = <<HASH =~ /\S*?(?:\s|\n)+/g;
key1 value1
key2 value2
key3 value3
key4 value4
key5 value2
HASH
# Сортируем и выводим содержимое хеша
foreach my $key ( sort { $hash{$a} cmp $hash{$b} || $a cmp $b } keys %hash ) {
        print "$key => $hash{$key}";
}


Цитата(korob2001 @  17.4.2006,  09:39 Найти цитируемый пост)
То всё работает. Другими словами, нужно обрезать символ перевода строки который идёт сразу же после тега {code}, а так же перед тегом {/code}, так как это было раньше.
Енто было всегда и уже обсуждалось!

Добавлено @ 08:51 
Как видеш... дополнительных строк нету! 


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
korob2001
Дата 17.4.2006, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Да нет, ты похоже не понял.
Допустим код из 2-х строк.

#!/usr/bin/perl
print "Hello\n";

Жму кнопку "КОД", появились 2 тэга {code}{/code}, форматирую их таким образом:
{code}

{/code}

Меду ними вставляю, код

{code}
#!/usr/bin/perl
print "Hello\n";
{/code}

Получаю 4 строки.

И похоже не один я так делаю, вот посмотри посты всех участников:
http://forum.vingrad.ru/index.php?showtopic=91598&st=15

Там только один, мой, пост, с нормальной нумерацией строк, так как я удалил символы перевода строки в вручную, т.е. сделал так:
{code}#!/usr/bin/perl
print "Hello\n";{/code}

Но это не очень хорошо читается при форматировании.
У всех остальных первоя строка кода пустая и последняя тоже. Причину я указал выше.

ЗЫ: раньше этого не было.   

Это сообщение отредактировал(а) korob2001 - 17.4.2006, 09:45


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Girder
Дата 17.4.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Цитата(korob2001 @  17.4.2006,  10:40 Найти цитируемый пост)
Да нет, ты похоже не понял.
Отлично все понял.

http://forum.vingrad.ru/index.php?showtopi...st&p=616882
Хотя... для quote было сделанно... можно тогда и для code сделать(и т.п.)

НО! Если чел напишет вот так... триметься не будет!
[cоde]
vvv
vv
[/cоde]

PS: Просто будет сразу оформляться типо так(при нажатии на енту кнопку):
[cоde]vvv
vv[/cоde]
  


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
korob2001
Дата 17.4.2006, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Можно удалять символы перевода строки после {code} и перед {/code}, перед занесением поста в базу. Выводить  в HTML без изменения, т.е. так как хранится базе (без \n), но если пост выводится в textarea, то нужно вставить два символа перевода строки после {code} и перед {/code}. 


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
sergejzr
Дата 17.4.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



Код

#!/usr/bin/perl
print "Hello\n";


Добавлено @ 13:09 
А почему больше пустые они не обрезаются? Я просто не помню, яваскриптом мы это раньше делали, или в PHP. Но мы точно обрезали их и это было правильно smile
PS: Наверное всётаки скриптом, потому что при редактировании должно также отображаться, как и при вводе. Надо глянуть.. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 17.4.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



А, понял. Все комменты вырезаются сейчас, а скрипту они нужны.
Лучше их в кодах оставлять..  


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
R.M.
Дата 17.4.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: 1
Всего: 30



Цитата(Girder @  17.4.2006,  09:51 Найти цитируемый пост)
Енто было всегда и уже обсуждалось!

Небыло раньше такова smile  smile  


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Girder
Дата 17.4.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Цитата(sergej.z @  17.4.2006,  14:34 Найти цитируемый пост)
Лучше их в кодах оставлять.. 

Серж пусть коменты режуться все...

PS: Скриптом отделим...

Добавлено @ 14:30 
Цитата(Куксикус @  17.4.2006,  14:55 Найти цитируемый пост)
Небыло раньше такова
А ты по ссылке ходил?
  


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
sergejzr
Дата 17.4.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



Ты ведь код и так спецобрабатываешь? Там комменты вначале и в конце. Отделяют голову от контента, итд. определяют начало и конец. Их лучше отавить. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
R.M.
Дата 18.4.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: 1
Всего: 30



Girder, 
Цитата(Girder @  17.4.2006,  15:29 Найти цитируемый пост)
А ты по ссылке ходил?

А ссылку ты дал на тему про цитату а не про код. Возможно конечно было но почему это никто не заметил тогда?  smile  Да нет быть такова неможет 


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Обсуждение форума | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.