我正在尝试使用 JavaScript 捕捉换行符。但问题就在这里。
例如,将字符串作为我函数的参数;
s = "some_text_with_a_\n_new_line";
Document.write(s);
它将被我的脚本检测到;
现在,如果我从文本区域获取文本,然后按回车键产生一个换行符。它将被检测并解释为\n。现在文本区域和工作脚本在我的桌面上。窗口 10。
当我将它上传到服务器(Windows“Godaddy”上的 IIS 7)时,它不再工作了,所以我尝试了一些变体,如\r\n ,\r 它们都不起作用。实际上它对我来说并不重要,因为我正在寻找的只是转义。
这是我用来找到它们的一段脚本:
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 中的内容是换行符。
出于某种原因,它只能在我的 PC 上运行,而不能在服务器上运行。所以我认为它必须是服务器解释断行的方式!
最佳答案
它们不被解释为空间。它们显示为空格。要按原样显示,您可以使用 pre 标签包围。例如
document.write('<pre>' + s + '</pre>');
此外,您应该寻找\n 而不是//n
即s.indexOf('\n')
如果您尝试输出到文档,您可以替换 \n
与 <br/>
例如s.replace(/\n/g, '<br/>')
关于javascript - 新行字符桌面与服务器 - 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34956473/