Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Убрать отступы в многострочном тексте (https://javascript.ru/forum/dom-window/55874-ubrat-otstupy-v-mnogostrochnom-tekste.html)

rafaello 18.05.2015 20:31

Убрать отступы в многострочном тексте
 
Приветствую всех!
Башку уже поломал, подмогните советом!
Есть многострочный текст
var text = "tra-ta ta
                                 tra-ta ta
              tra-ta ta
                                                     tra-ta ta
                   tra-ta ta";

Задачка такая, чтобы убрать пробелы в начале и конце строк и привести к такому виду:
var text = "tra-ta ta
tra-ta ta
tra-ta ta
tra-ta ta
tra-ta ta";

Если бы на языке PHP, я бы сделал за пару минут, но в javascript совсем плаваю. Вот соорудил что-то такое, но это не работает:
var arr = text.split("\n");
var index;
var ddrr = '';
for (index = 0; index < arr.length; ++index) {
    ddrr = $.trim(arr[index]) + "\n";
	ddrr = ddrr + ddrr;
}

kostyanet 18.05.2015 21:10

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

UPD http://stackoverflow.com/questions/1...a-single-space

rafaello 18.05.2015 21:12

Вопрос в Реге - это вопрос второй!
Первый вопрос - как собрать файл воедино после цикла?

laimas 18.05.2015 21:25

Цитата:

Сообщение от rafaello
Если бы на языке PHP, я бы сделал за пару минут, но в javascript совсем плаваю.

Ну так почему не делается на сервере, откуда на клиенте этот текст берется?

Соединение элементов в строку, это string.join('\n');

рони 18.05.2015 21:33

rafaello,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
 <textarea name="" rows="10" cols="80">tra-ta ta
                                 tra-ta ta
              tra-ta ta
                                                     tra-ta ta
                   tra-ta ta</textarea>
 <textarea name="" rows="10" cols="80"></textarea>
 <script>
    var t = document.querySelectorAll("textarea");
    var text = t[0].value;
    text = text.replace(/^\s+|\s+(?=[\n\r])/gm,"")
    t[1].value = text
 </script>
</body>

</html>

kostyanet 18.05.2015 21:41

Цитата:

Сообщение от rafaello
Первый вопрос - как собрать файл воедино после цикла

Никакого цикла там нет, снаружи по крайней мере. В ощем вам уже все продемонстрировали.

laimas 18.05.2015 21:48

рони,
если в textarea, то вообще ничего не надо. Серверу один раз при записи сделать, а не постоянно при каждом изменении значения в поле перебирать все заново на клиенте. )

рони 18.05.2015 22:03

laimas,
textarea только для примера, потому что переменная в 1 посте не корректна

rafaello 18.05.2015 23:47

Цитата:

Ну так почему не делается на сервере, откуда на клиенте этот текст берется?
Так это не на сервере делается, а в браузере -"Получить TXT из HTML".
Там javascript вырезает все теги html.
---------------------------------------------------------
РОНИ, большое спасибо за помощь!
Хотя в упор не понял, как это без цикла так получилось...

рони 19.05.2015 00:13

Цитата:

Сообщение от rafaello
как это без цикла так получилось...

https://learn.javascript.ru/regexp-methods


Часовой пояс GMT +3, время: 18:38.