Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 将\r\n替换为<;br/>;作为文本_Javascript_Regex - Fatal编程技术网

Javascript 将\r\n替换为<;br/>;作为文本

Javascript 将\r\n替换为<;br/>;作为文本,javascript,regex,Javascript,Regex,尝试用替换\r\n 2小时,但似乎不可能。 我不知道我在做什么!请帮忙 const text = '"Hello!\r\n\r\nThis is a dog!' const checkText = str=> { const match = /\r|\n/.exec(text); if (match) { //return str.replace(/(?:\\[rn]|[\r\n]+)+/g, '<br/>'); return str.replace(

尝试用
替换\r\n 2小时,但似乎不可能。
我不知道我在做什么!请帮忙

const text = '"Hello!\r\n\r\nThis is a dog!'

const checkText = str=> {
  const match = /\r|\n/.exec(text);
  if (match) {
    //return str.replace(/(?:\\[rn]|[\r\n]+)+/g, '<br/>');
    return str.replace('/r/n', '<br/>');
  }
  return str;
};
checkText(text)
const text='“你好!\r\n\r\n这是一只狗!”
const checkText=str=>{
常量匹配=/\r |\n/.exec(文本);
如果(匹配){
//返回str.replace(/(?:\\[rn]\[\r\n]+)+/g,
); 返回str.replace('/r/n','
'); } 返回str; }; 检查文本(文本)
涵盖所有可能的新行字符组合

String tmp = s.replaceAll("\r\n", "<br>"); // Windows
tmp = tmp.replaceAll("\r", "<br>");        // Old MAC
return tmp.replaceAll("\n", "<br>");       // Linux / UNIX
String tmp=s.replaceAll(“\r\n”,“
”);//Windows tmp=tmp.replaceAll(“\r”,“
”);//旧MAC 返回tmp.replaceAll(“\n”和“
”);//Linux/UNIX
涵盖所有可能的新行字符组合

String tmp = s.replaceAll("\r\n", "<br>"); // Windows
tmp = tmp.replaceAll("\r", "<br>");        // Old MAC
return tmp.replaceAll("\n", "<br>");       // Linux / UNIX
String tmp=s.replaceAll(“\r\n”,“
”);//Windows tmp=tmp.replaceAll(“\r”,“
”);//旧MAC 返回tmp.replaceAll(“\n”和“
”);//Linux/UNIX
您可以尝试:

(text+ '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br/>$2');
(text+“”)。替换(/([^>\r\n]?)(\r\n |\n\r |\r |\n)/g,“$1
$2”);
您可以尝试:

(text+ '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br/>$2');
(text+“”)。替换(/([^>\r\n]?)(\r\n |\n\r |\r |\n)/g,“$1
$2”);
您的代码有多处错误:

  • String.prototype.replace
    仅替换字符串的第一次出现的。您需要使用带有
    /g
    标志的正则表达式参数来替换所有出现的字符串
  • 转义使用反斜杠而不是正斜杠:使用
    \r\n
    ,而不是
    /r/n
  • checkText
    返回一个
    字符串
    ,但您的呼叫站点对返回的字符串没有任何处理—它只是被删除。字符串在JavaScript中是不可变的
  • 我不建议使用字符串来保存HTML,因为它可能(非常容易)导致HTML注入(包括
    -injection)攻击

    相反,请执行以下操作之一:

    • 使用
      String.prototype.split
      和HTML编码数组中的每个
      String
      ,并使用

      连接
    • 使用
      .textContent
      (不再使用
      innerText
      )将字符串直接添加到文档中,并为父元素提供CSS样式
      空白:预包装;

    您的代码有多处错误:

  • String.prototype.replace
    仅替换字符串的第一次出现的。您需要使用带有
    /g
    标志的正则表达式参数来替换所有出现的字符串
  • 转义使用反斜杠而不是正斜杠:使用
    \r\n
    ,而不是
    /r/n
  • checkText
    返回一个
    字符串
    ,但您的呼叫站点对返回的字符串没有任何处理—它只是被删除。字符串在JavaScript中是不可变的
  • 我不建议使用字符串来保存HTML,因为它可能(非常容易)导致HTML注入(包括
    -injection)攻击

    相反,请执行以下操作之一:

    • 使用
      String.prototype.split
      和HTML编码数组中的每个
      String
      ,并使用

      连接
    • 使用
      .textContent
      (不再使用
      innerText
      )将字符串直接添加到文档中,并为父元素提供CSS样式
      空白:预包装;
    只要这样做:

    text.replace(/\r\n/g, '<br/>');
    
    text.replace(/\r\n/g,
    );
    只需执行以下操作:

    text.replace(/\r\n/g, '<br/>');
    
    text.replace(/\r\n/g,
    );
    文本来自API,我正在使用React。只需解析字符串即可。文本来自API,我正在使用React。只需解析字符串即可。