新行字符桌面与服务器 - 已更新

时间:2016-01-22 21:45:23

标签: javascript

我正在尝试使用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中的内容就是换行符。

由于某种原因,它只适用于我的电脑而不是服务器。所以我认为它必须是服务器解释断线的方式!

2 个答案:

答案 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");