Веб-страницы сами создают новые строки? - PullRequest
0 голосов
/ 04 октября 2011

Когда текст на веб-странице переносится на следующую строку, потому что он попадает в конец вашего шаблона, это означает, что создание скрытого перевода строки в коде отличается от <br>?

Я пытаюсьсделать .replace() в Javascript, но он не находит фразы, которые занимают две строки.Есть ли способ обойти это, чтобы мой код Javascript работал?

Ответы [ 3 ]

3 голосов
/ 04 октября 2011

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

На самом деле нет хорошего способа обнаружить перенос слов в JavaScript.

ВыВозможно, вы захотите опубликовать еще один вопрос с вашей целью, чтобы мы могли внести предложения о том, как добиться того, чего вы действительно хотите.

1 голос
/ 04 октября 2011

Новая строка (\n или <br />) - это не то же самое, что автоматическая переноска текста механизмом текстового макета.A \n или <br /> заставляет механизм компоновки переносить строку и может быть обнаружен как символ (\n) или тег (<br />), но автоматическая перенос не производит новуюсимвол или тег.Вы можете проверить только высоту контейнера до угадайте в зависимости от того, имеете ли вы дело с автоматически перенесенным текстом или нет.

0 голосов
/ 04 октября 2011

Включить пробел в часть вашего выражения:

s.replace(/stuff on line1[\s]+stuff on line 2/, 'replacement');

Или только символы новой строки \n и \r:

s.replace(/stuff on line1[\\n\\r]+stuff on line 2/, 'replacement');

Существует многострочный флаг/m), но, как сообщается, не универсален .

...