Всегда ли разрывы строк в JavaScript в IE \ r \ n? - PullRequest
1 голос
/ 01 июля 2011

Если я получу элемент с <BR \> внутри и получу его текст со свойством innerText, я вижу, что разрыв строки состоит из двух символов: 13 и 10. От чего это зависит? Это браузер или кодировка веб-страницы?

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

Это то, что я буду использовать, чтобы разбить текст на строки с помощью метода split. Я не уверен, стоит ли мне использовать split("\r\n") или какой-нибудь более сложный код.

Ответы [ 4 ]

6 голосов
/ 01 июля 2011
split(/\r\n?|\n/g)

должен обрабатывать символы новой строки UNIX, строки Windows и символы старой строки Mac.

Есть несколько других символов, которые считаются новыми строками Юникод , но эти дополнительные вряд ли будут использованы для замены <br> s в HTML innerText.

13 соответствует \r, который известен как CR или возврат каретки. 10 соответствует \n, который известен как LF или перевод строки. Комбинация двух "\ r \ n" называется разделителем строк CRLF.

Некоторые из них считаются разделителями строк на других языках Интернета. Например. U + 2028 и U + 2029 - это терминаторы строки в JavaScript, а U + 000C считается терминатором строки в CSS.

3 голосов
/ 01 июля 2011

Это зависит от вашего редактора и / или ОС.Windows использует \ r (13) \ n (10).Системы Unix используют только \ n.Старые маки использовалиВы можете просто заменить все \ r \ n на \ n и затем разделить на \ n.Итак

//"test\r\nnewline".replace('\r\n','\n').split('\n')//only replaces the first newline
"test\r\nnewline".replace(/\r\n/g, '\n').split('\n')
0 голосов
/ 02 июля 2011

text.split (/ \ s * \ n + /)

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

0 голосов
/ 01 июля 2011

Обычно зависит от ОС. Windows - это \ r \ n, \ r для Mac и \ n для Linux

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...