Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: jquery замена двух символов переноса строки на один

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Арикус
Отправлено: 22 Сентября, 2015 - 15:34:24
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июнь 2015  
Откуда: Москва, Россия


Помог: 0 раз(а)




Есть текстовое поле
CODE (html):
скопировать код в буфер обмена
  1. <textarea class="TAblue" maxlength="10000000" rows="10" name="askDescription" id="askDescription"></textarea>

Мне нужно, чтобы в jquery скрипте два символа переноса строки заменялись на один. Что в этой строчке я написал неправильно?
CODE (javascript):
скопировать код в буфер обмена
  1. $('#askDescription').val($('#askDescription').val().replace('/(\r\n|\r|\n) *(\r\n|\r|\n)/g', '\n'));

Консоль ошибок скрипта не обнаружила, остальные функции скрипта выполняются нормально.
 
 Top
IllusionMH
Отправлено: 22 Сентября, 2015 - 16:04:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Арикус, а пробел в регулярке точно нужен?
Ну и условие позволяет выбрать отдельно первые \r и \n из \r\n\r\n и не трнуть вторые, в итоге \n\r\n будет

(Отредактировано автором: 22 Сентября, 2015 - 16:04:39)

 
 Top
Le0_Nard
Отправлено: 22 Сентября, 2015 - 16:41:39
Post Id



Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2015  
Откуда: Минск, Беларусь


Помог: 0 раз(а)




Давно не маялся js-ом, слегка подзабыл, так что напишу на php, чтобы было понятно, что я имею в виду.

PHP:
скопировать код в буфер обмена
  1. while(preg_match("/\r\n\r\n/", $value)){$value=str_replace("\r\n\r\n", "\r\n", $value);}
  2. while(preg_match("/\r\r/", $value)){$value=str_replace("\r\r", "\r", $value);}
  3. while(preg_match("/\n\n/", $value)){$value=str_replace("\n\n", "\n", $value);}


Вроде как должно работать. Осталось перевести на js.
 
 Top
Мелкий Супермодератор
Отправлено: 22 Сентября, 2015 - 16:50:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Le0_Nard, что это за наркоманство? Одного preg_replace('~[\r\n]++~', "\n", $input) более чем достаточно для задачи схлопнуть переносы строк.

Арикус, емнип, replace жрёт или объект регулярки и тогда работает по этой регулярке или строку и тогда ищет именно такую строку (т.е. str_replace, не preg_replace).
Try this:
CODE (javascript):
скопировать код в буфер обмена
  1. $('#askDescription').val($('#askDescription').val().replace(/[\r\n]+/g, '\n'));


-----
PostgreSQL DBA
 
 Top
Le0_Nard
Отправлено: 22 Сентября, 2015 - 19:41:09
Post Id



Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Март 2015  
Откуда: Минск, Беларусь


Помог: 0 раз(а)




квадратную скобку закрой :/
 
 Top
Мелкий Супермодератор
Отправлено: 22 Сентября, 2015 - 20:21:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Danke! Не заметил.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB