我正在尝试使用JavaScript捕获新的行字符。但这是捕获。
例如,使用字符串作为我的函数的参数;
s = "some_text_with_a_\n_new_line";
Document.write(s);
我的脚本会检测到它;
现在,如果我从textarea获取文本并按Enter键以产生换行符。它将被检测并解释为\ n。现在texte区域和工作脚本都在我的桌面上。窗口10。
当我将它上传到服务器(Windows 7上的IIS 7“Godaddy”)时,它不再工作了,所以我尝试了一些变体,比如\ r \ n,\ r \ n非它们的工作。实际上它对我来说并不重要因为我正在寻找的只是逃避。
这是我用来找到它们的一段脚本:
nex = string.indexOf(tokout[i]); // where tokout = '\n'
spacer = 1; //spacer to escape found token
spc = tokin.length; ///last token
if(tokin[spc-1] === '\n'){ //// spacer to set cursor after token
spacer = 2;
}
BBCode = input.substr(curseur,nex+spacer); // we have bbcode
脚本正在我的桌面上运行,但在服务器上我无法获得换行符!
工作原理:
我得到了\ n的位置。 将光标的位置设置在其后面。 BBcode中的内容就是换行符。
由于某种原因,它只适用于我的电脑而不是服务器。所以我认为它必须是服务器解释断线的方式!
答案 0 :(得分:4)
它们不被解释为空间。它们显示为空格。要显示AS IS,您可以使用预标签进行环绕。 e.g。
document.write('<pre>' + s + '</pre>');
另外,你应该寻找\ n not // n
即。 s.indexOf('\n')
如果您要输出到文档,可以将\n
替换为<br/>
e.g。 s.replace(/\n/g, '<br/>')
答案 1 :(得分:3)
如果您想在HTML中看到换行符,则必须使用<br />
HTML标记:
document.write("some_text_with_a_<br />_new_line");
但是在javascript中\n
是一个有效的换行符。例如,当您使用console.log或alert时,您将看到2行:
console.log("some_text_with_a_\n_new_line");
alert("some_text_with_a_\n_new_line");