我有一个应用程序,我从REST Api收到一个注释字符串,如此
"comments":"This is a comment\nAnother comment\nOne more\nLast
我正在使用p标签显示它,但它没有识别换行符(\ n)。如何换行?
答案 0 :(得分:2)
有两种方式:
如果您有权访问REST API。在返回评论之前,使用nl2br
函数(php)
您可以在JavaScript(JS)中使用以下代码:
var comment = "This is a comment\nAnother comment\nOne more\nLast";
comment = comment.replace(/\n/g, "<br />");
alert(comment);
答案 1 :(得分:1)
可能是 CSS 的问题,
如果您应用 white-space: pre-wrap
,那么它可能有助于确保您的换行符被识别。
有关其他 white-space
选项及其功能,请参阅文档。
https://developer.mozilla.org/en-US/docs/Web/CSS/white-space
const nodes = document.getElementsByTagName('p');
// Replacing the innerHtml because the newline chars aren't acknowledged if I define them in the HTML.
for(let n of nodes) {
n.innerHTML = 'Here is \nSome example \nText with \nLine breaks.'
}
p.no-breaks {
white-space: nowrap;
color: red;
}
p.with-breaks {
white-space: pre-wrap;
color: blue;
}
<p class="no-breaks">This text will be replaced.</p>
<p class="with-breaks">This text will be replaced.</p>
答案 2 :(得分:0)
我想这就是你想要的!!
<select name="order_required_time" id="order_required_time" required="">
<option value="">Choose time</option>
<option value="11:30 - 12:00 pm">11:30 - 12:00 pm</option>
<option value="12:00 - 12:30 pm">12:00 - 12:30 pm</option>
<option value="12:30 - 01:00 pm">12:30 - 01:00 pm</option>
<option value="01:00 - 01:30 pm">01:00 - 01:30 pm</option>
<option value="01:30 - 02:00 pm">01:30 - 02:00 pm</option>
<option value="02:00 - 02:30 pm">02:00 - 02:30 pm</option>
<option value="02:30 - 03:00 pm">02:30 - 03:00 pm</option>
<option value="06:30 - 07:00 pm">06:30 - 07:00 pm</option>
<option value="07:00 - 07:30 pm">07:00 - 07:30 pm</option>
<option value="07:30 - 08:00 pm">07:30 - 08:00 pm</option>
<option value="08:00 - 08:30 pm">08:00 - 08:30 pm</option>
<option value="08:30 - 09:00 pm">08:30 - 09:00 pm</option>
<option value="09:00 - 09:30 pm">09:00 - 09:30 pm</option>
</select>
它对我有用..
答案 3 :(得分:0)
<pre>
标记设置为识别换行符。你可以通过CSS让<p>
表现得像<pre>
,但你会松开<p>
中的任何HTML(如果有的话)。
或者,您必须使用HTML换行符<br>
或<br/>