Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Новые строки и пробелы в textarea


Автор: Alx 28.2.2004, 19:15
Есть textarea, как сделать так:


__________________

Привет![три пробела]Как дела?

Alx


__________________

Надо перевести в

"<br>Привет!&nbsp;&nbsp;&nbsp;Как дела?<br><br>Alx".

Не охота по учебникам рыться, а это наверняка и так многие знают, как сделать...)

Автор: Royan 29.2.2004, 16:41
посмотри доки по ф-ии replace(), заменяй "\s" на "&nbsp;"

Автор: Alx 29.2.2004, 18:00
ну сказал же - не охота в доках рыться! наверняка кто-нить и так помнит, это ведь часто используется... потом мне ещё \n надо на <br> заменить, а там ведь ещё чё-то \r - возврат каретки, я вообще не знаю, чё енто такое, каретка и куды её возвращать!))

Автор: Sardar 29.2.2004, 22:00
Не понятно зачем это нужно. Форматированием должен заниматся скрипт на сервере. Вот вариант, не очен быстрый smile.gif:
Код

function repl(text) {
var ret="";
for(var i=0;i<text.length;i++) {
 switch(text.charAt(i)) {
  case "\r": ret+="<br>"; if((i+1)<text.length&&text.charAt(i+1)=="\n") i++; break;
  case "\n": ret+="<br>"; break;
  case " ": ret+="&nbsp;"; break;
  case "\t": ret+="&nbsp;&nbsp;&nbsp;&nbsp;"; break;
  default: if(text.charCodeAt(i)>127) ret+="&#"+text.charCodeAt(i)+";";
     else ret+=text.charAt(i);
 }
}
return ret;
}
str="privet vsem, это по русски \r\n tab:[        ].";
document.write(repl(str));

Цитата
возврат каретки, я вообще не знаю, чё енто такое, каретка и куды её возвращать!))

Возврат каретки это символ, при печате его на консоль каретка(мигающий курсор) передвинется в начало. Под виндой перевод строки состоит из двух символов: \r\n, под *nix'ами только из: \n, где символы: \r - возврат каретки, \n - перевод строки.

Автор: Alx 29.2.2004, 22:24
Нет, у меня ж не форум. Мне нужно так, чтобы, грубо говоря, то что ввёл юзверь представилось в HTML, а потом передалось серверному скрипту и скрипт тока сохранил этот HTML на серваке. так что за скрипт спасибо! wink.gif

Автор: Sardar 29.2.2004, 22:44
Цитата
так что за скрипт спасибо!

Одним "спасибом" сыт не будешь... намек на плюсик слева biggrin.gif

Цитата
Мне нужно так, чтобы, грубо говоря, то что ввёл юзверь представилось в HTML, а потом передалось серверному скрипту и скрипт тока сохранил этот HTML на серваке

По любому теги будешь обрабатывать, иначе скриптами popup'oв тебе понавешают. Вообще это плохая идея - форматировать код на стороне клиента, вдруг JavaScript отключен.

Автор: Alx 1.3.2004, 10:08
Цитата
Одним "спасибом" сыт не будешь... намек на плюсик слева

интересно, что ты имеешь ввиду, нет, всё понятно, но что конкретно?! smile.gif

Цитата
иначе скриптами popup'oв тебе понавешают


не понял... ты имеешь ввиду ЮЗВЕРИconfused.gif [пойду нажимать на "Ответить", чтобы вставить смайлик], нашёл - adv/29.gif adv/29.gif adv/29.gif

Я делаю сайт для своей мамы, про цветы, так мне таких попапов наставят! не ладно, на всяк случай:

case "<": ret+="&lt;"; break;

воть и усё!))

Автор: Sardar 1.3.2004, 14:31
Цитата
интересно, что ты имеешь ввиду, нет, всё понятно, но что конкретно?!

Это мы приучаем вас, не всегда благодарных пользователей smile.gif, повышать рейтинги если вам реально помогли.
Цитата
не ладно, на всяк случай:
case "<": ret+="&lt;"; break;
воть и усё!))

А я вот злобный хацкер возьму да и отключу JavaScript или вообще отправлю запрос вручную телнетом. А в запросе:
Код

<script language="javascript" type="text/javascript">
window.open("","wow","fullscreen");
window.location.href="www.myporno.site";
</script>

Что тогда?

Автор: Alx 1.3.2004, 14:48
Цитата
Это мы приучаем вас, не всегда благодарных пользователей , повышать рейтинги если вам реально помогли.


ты чё меня пользователем-то обзываешь? сам такой! smile.gif да мы исчо покажем! кста, ты что не заметил, я ж тебе и так повысил, а это просто пошутил!

Цитата
А я вот злобный хацкер возьму да и отключу JavaScript или вообще отправлю запрос вручную телнетом

злобный хацкер! ты уверен, что для этого зайдёшь на сайт моей мамы про цветы фуксии, зайдёшь на сервис открыток, создашь там открытку, сохранишь её на её серваке, в окружении сотни настоящих открыток. И будешь ли ты делать енто для того, чтобы той 25-35-летней цветоводихе, чей e-mail ты ввел, пришло извещение о том, что ты, злобный хацкер отправил ей открытку, а она зашла туда и ей открылся yourporno.site??? может ты ещё отправишь рассылкой такое же извещение? пожалуйста! Пару десяткофф человек её прочтёт. Но зачем, если ты с таким же успехом можешь вместо адреса http://fuchsias.ru/cards/cards/7435764359.php поставить адрес http://www.yourporno.site без всяких попаповconfused.gif так что тебе, злобный хацкер нечего делать на цветочном сайте в разделе виртуальные открытки!

вот так воть!

Автор: Sardar 1.3.2004, 15:12
Цитата
кста, ты что не заметил, я ж тебе и так повысил, а это просто пошутил!

Биг сенкс.
Цитата
злобный хацкер! ты уверен, что для этого...

Просто хорошо писать для любой задачи правильно.
Ладно проехали, а то флей пошел smile.gif.

Автор: GoodBoy 1.3.2004, 16:10
Sardar А почему благодарным может стать только тот пользовотель, который написал не менее 100 сообщений?? Может я чегой-то не понял?? withstupid.gif

Автор: Sardar 1.3.2004, 16:35
GoodBoy дискуссия по этому поводу еще ведется в ветке для модераторов. Пока к единоглассному мнению не пришли bored.gif

Автор: Royan 1.3.2004, 21:47
ALEXANDRO, не парь нас, сделай так:

divObj.innerHTML=textAreaObj.value

Автор: Alx 1.3.2004, 21:55
Цитата
ALEXANDRO, не парь нас, сделай так:


в смысле? я по-моему всё уже выяснил, мне Sardar помог. Всё ок! чё-то я тя не понял...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)