Попытка перевести возврат каретки в 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, вам нужно использовать регулярное выражение в заменить()