JavaScript多行字符串解码
我有一个字符串:JavaScript多行字符串解码,javascript,string,decode,Javascript,String,Decode,我有一个字符串: <Grid><Description>LINE 1 LINE 2 LINE 3 LINE 4 </Description><</Grid> 我需要用换行符来解码。我找到了解决办法: function decodeString(stringToDecode) { if (!stringToDecode) { return st
<Grid><Description>LINE 1
LINE 2
LINE 3
LINE 4
</Description><</Grid>
我需要用换行符来解码。我找到了解决办法:
function decodeString(stringToDecode) {
if (!stringToDecode) {
return stringToDecode;
}
return $('<div />').html(stringToDecode).text();
}
函数解码字符串(stringToDecode){
如果(!stringToDecode){
返回字符串进行编码;
}
返回$('').html(stringToDecode.text();
}
但它只生成一行,并用空格替换所有的换行符。您的示例具有CR/LF-但这不是HTML中的换行符。您需要将其替换为有效的HTML换行符,即
标记 您的函数有一个奇怪的if语句,它没有多大意义。刚刚证明stringToDecode为null时,为什么要返回它?另外,
$('').html(stringToDecode).text()
也不会有任何帮助
试着这样做:
function decodeString(stringToDecode) {
if (!stringToDecode) {
return "";
}
var regX = /\\n/g;
var replaceString = '<br> \\n';
return stringToDecode.replace(regX, replaceString);
}
函数解码字符串(stringToDecode){
如果(!stringToDecode){
返回“”;
}
变量regX=/\\n/g;
var replaceString='
\\n';
返回stringToDecode.replace(regX,replaceString);
}
您的示例有CR/LF,但这不是HTML中的换行符。您需要将其替换为有效的HTML换行符,即标记 您的函数有一个奇怪的if语句,它没有多大意义。刚刚证明stringToDecode为null时,为什么要返回它?另外,
$('').html(stringToDecode).text()
也不会有任何帮助
试着这样做:
function decodeString(stringToDecode) {
if (!stringToDecode) {
return "";
}
var regX = /\\n/g;
var replaceString = '<br> \\n';
return stringToDecode.replace(regX, replaceString);
}
函数解码字符串(stringToDecode){
如果(!stringToDecode){
返回“”;
}
变量regX=/\\n/g;
var replaceString='
\\n';
返回stringToDecode.replace(regX,replaceString);
}
您可以使用以下方法将换行符替换为
标记,然后设置HTML:
return $('<div />').html(stringToDecode.replace(/\n/, '<br />')).text();
return$('').html(stringToDecode.replace(/\n/,'br/')).text();
您可以使用以下方法将换行符替换为
标记,然后设置HTML:
return $('<div />').html(stringToDecode.replace(/\n/, '<br />')).text();
return$('').html(stringToDecode.replace(/\n/,'br/')).text();
函数解码字符串(stringToDecode){
返回stringToDecode?$(“”).html(stringToDecode.replace(/[\n\r]/g,“
\r\n”))。text():“”
}
函数解码字符串(stringToDecode){
返回stringToDecode?$(“”).html(stringToDecode.replace(/[\n\r]/g,“
\r\n”))。text():“”
}
我改进了您的解决方案:var-tentagname='LineBreak';var decodedString=$('').html(stringToDecode.replace(/\n/g,“+TestAgName+”/\r\n”)).text();返回decodedString.replaceAll(“”,\r\n')
换行符Regexp应该是/(\r\n |\n |\r)/gm
我改进了您的解决方案:var-tentagname='LineBreak';var decodedString=$('').html(stringToDecode.replace(/\n/g,“+TestAgName+”/\r\n”)).text();返回decodedString.replaceAll(“”,\r\n')代码>换行符Regexp应为/(\r\n |\n |\r)/gm