БлогNot. Javascript: слить все строки текста в одну

Помощь дата->рейтинг Поиск Почта RSS канал Статистика nickolay.info Домой

Javascript: слить все строки текста в одну

Просто понадобилось срочно из текста убрать переводы строк, ничем их не заменяя (точней, заменяя одним пробелом любое количество разделителей, в том числе, переводов строки). Такой формат нужен, например, при преобразовании pgn-файла в строку pgnString для Chesstempo.

Пришлось написать кодик вроде вот такого, ведь сервисы nl2br и sus этого не делают. Но писать код на PHP, который ещё надо на сервак загрузить, мне сейчас лень, а на JS можно сделать за минуту, да и выполняется пусть вашим браузером, а не моим сервером :)

Вот скрипт в работе, а под катом - полный исходник, по сути, это маленькая обёртка над пользовательской функцией trim, удаляющей из строки лишние разделители.

Введите или вставьте текст:

Результат:

<form name="multilineTextForm">
 <p>Введите или вставьте текст:<br>
  <textarea name="multilineText" id="multilineText" rows="12" cols="80"></textarea>
 </p>
 <p>
  <input type="button" value="Обработать" onclick="doRemovingNl();">
  <input type="button" value="Очистить" onclick="doClearNl();">
 </p>
 <p>Результат: <input type="text" width=60 id="oneLineString" name="oneLineString"></p>
</form>

<script type="text/javascript">
 function trim (p) {
  return p.replace (/\s+/g, " ").replace(/(^\s*)|(\s*)$/g, '');
 }

 function doRemovingNl () { 
  var str = document.getElementById('multilineText').value;
  var arr = str.split("\n");
  var result = '';
  var len=arr.length;
  for (var i=0; i<len; i++) { //обработаем строки по одной - так экономичней
   var s = trim(arr[i]);
   if (s.length>0) result += s + ' ';
  }
  document.getElementById('oneLineString').value = trim(result);
  document.multilineTextForm.oneLineString.select();
 }

 function doClearNl() {
   document.multilineTextForm.multilineText.value='';
   document.multilineTextForm.oneLineString.value='';
 }
</script>
<noscript>Нужен включённый Javascript для работы приложения</noscript>

теги: сервис javascript

комментарии (0)

28.11.2017, 12:58; рейтинг: 52

  свежие записипоиск по блогукомментироватьстатистика

Наверх Яндекс.Метрика
© PerS
вход