我正在使用React,并从API中获取评论。由于该API来自PHP用户,因此多个评论中带有`br`标签。我试图将每个字符串中的`br`标签替换为实际的换行符。我也在使用React,所以jQuery不可行。
这是我的代码:
我已经将它替换为空格并且它可以工作,但是在换行时它没有起作用。我错在哪里了?
编辑1:@T.J. Crowder 我添加了它在页面上的显示方式。
这是我的代码:
this.state.notes.forEach((note) => {
const fixed = note.body.replace(/<br>/g, "\r\n");
rows.push(<ListGroupItem hover href="#" className="whiter" key=
{note.id}>
<div className="d-flex justify-content-between">
<h5 className="mb-1">{ note.name }</h5>
<small>{ commentDate }</small>
</div>
<p className="mb-1">{ fixed }</p>
</ListGroupItem>)
}
我已经将它替换为空格并且它可以工作,但是在换行时它没有起作用。我错在哪里了?
编辑1:@T.J. Crowder 我添加了它在页面上的显示方式。
rows
是一个空数组,ListGroupItem
来自MDBootstrap。
<br>
,因为显然你接收到的是HTML格式,所以可能有其他方面的HTML格式需要处理,例如命名字符实体(<
,&
等)或数字字符实体(如c;
)。你必须担心XSS和其他各种问题。 - T.J. Crowder<br>
替换为换行符的有效代码。指向不同的方法对他们没有帮助。 :-) - T.J. Crowderbr
标签,最终会显示在字符串中。我只想从字符串中删除标签并使它们成为实际的换行符,因为它们只用空格分隔看起来不好看。 - Nathan Geckle<br>
等内容的字符串 = HTML。 - T.J. Crowder