Попытка перевести возврат каретки в HTML-тег в Javascript?
У меня есть XML-канал, который im тянет через javascript и переводит его во что-то более HTML-дружественное, но im догнал, как перевести возврат каретки в HTML br tag
Я пробовал что-то вроде этого
text = text.replace('r','<br />');
безрезультатно..
какие идеи?
5 ответов
функция замены Javascript заменяет только первое появление, если вы используете строку в качестве критериев соответствия. Для замены всего можно использовать regex.
попробуйте что-то вроде этого
text = text.replace(/(\r\n|\n|\r)/g,"<br />");
надеюсь, что это помогает.
вы можете просто применить CSS white-space:pre
на элементе, точно так же, как HTML <textarea>
элемент внутренне делает:
<span style="white-space:pre">your text \n will \n be \n on multiple \n lines</span>
(Примечание: класс более рекомендуется, чем стиль, выше просто пример стартового)
вместо возврата каретки могут быть символы новой строки. Я бы использовал это:
text = text.replace(/\r\n?|\n/g, '<br />');
который заменит все экземпляры \r\n
, \r
и \n
С <br />
, но не заменить \r\n
с двумя перерывами, что является желаемым поведением.
вы должны взглянуть на ленту вручную. Вероятно, он использует другой тип конца строки (EOL), чем \r
.
также, чтобы заменить все вхождения типа EOL, вам нужно использовать регулярное выражение в заменить()