Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换<;br>;带换行符的字符串中的标记_Javascript_Reactjs_Replace_Line Breaks - Fatal编程技术网

Javascript 替换<;br>;带换行符的字符串中的标记

Javascript 替换<;br>;带换行符的字符串中的标记,javascript,reactjs,replace,line-breaks,Javascript,Reactjs,Replace,Line Breaks,我正在使用react并从保存注释的api中提取。有多个带有br标记的注释,因为api来自php用户。我试图用实际的换行符替换每个字符串中的br标记。我也在使用react,所以jQuery是不可能的 这就是我所拥有的: this.state.notes.forEach((note) => { const fixed = note.body.replace(/<br>/g, "\r\n"); rows.push(<ListGroupItem hover href="#

我正在使用react并从保存注释的api中提取。有多个带有
br
标记的注释,因为api来自php用户。我试图用实际的换行符替换每个字符串中的
br
标记。我也在使用react,所以jQuery是不可能的

这就是我所拥有的:

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>)
}
this.state.notes.forEach((note)=>{
const fixed=note.body.replace(/
/g,“\r\n”); 推( {note.name} {commentDate}

{fixed}

) }
我已经用空格替换了它,它起作用了,但换行符不起作用。我哪里出了问题


编辑1:@T.J.Crowder我添加了它在页面上的显示方式。
是一个空数组,
ListGroupItem
来自MDBootstrap。

替换

的方式很好,除了您可能希望在关闭
之前留有空格,并且在之前有一个可选的
//code>ode>>
以及:

const fixed = note.body.replace(/<br\s*\\?>/g, "\r\n");
例如:

const示例=({fixed})=>{
return

{ 修复了.split(/[\r\n]+/).map(line=>{line}) }

; }; 康斯特街= “这是一个带换行符的字符串。\r\n”+ “第2行\r\n”+ “第3行”; ReactDOM.render( , document.getElementById(“根”) );


“我已经用空格替换了它,但它在换行时不起作用。”一旦修改了字符串,您将如何呈现它?您可以尝试使用此文本。拆分(
)。加入(“\n”)从根本上说,如果你想要评论的文本而不是HTML,你需要让另一端向你发送文本而不是HTML。通过向你发送HTML,他们给了你大量的工作要做。你不想仅仅用换行符替换

,因为显然你收到的是ing是HTML,因此可能需要处理HTML的其他方面,例如命名字符实体(
&;
,等等)或数字字符实体(例如
&003c;
)。你必须担心XSS和其他各种问题。@HemadriDasari-OP已经有了有效的代码,用换行符替换了

。以不同的方式指出它们是没有用的。:-)我很确定它不是发送HTML,而是发送字符串。字符串包含
br
标记,这些标记最终显示在字符串中。我只想从字符串中删除标记并使它们实际换行,因为它们之间只用空格分隔看起来不太好。我知道这是如何工作的,但当我
.replace(//g,“\r\n”)
时,文本中不会显示“
\r\n
”。它显示文本,就像我用空格替换它一样。编辑:别介意我在分割后没有调用它,所以它仍然显示原始的固定变量。谢谢你的帮助!
<p className="mb-1">{
    fixed.split(/[\r\n]+/).map(line => <div>{line}</div>)
}</p>