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



我正在尝试用JavaScript捕获新行字符。

例如,将字符串作为我的函数的参数;

s = "some_text_with_a_n_new_line"; Document.write(s);

它会被我的脚本检测到;

现在,如果我从文本区域获取文本并按 Enter 以生成换行符。它将被检测到并解释为 。现在文本区域和工作脚本在我的桌面上。窗口 10.

当我将其上传到服务器(Windows "Godaddy"上的IIS 7)时,它不再工作,所以我尝试了一些变体,例如\r,\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

该脚本在我的桌面上工作,但在服务器上我无法获得换行符!

工作原理:

我得到了的位置。将光标的位置设置在它之后。BBcode中的是换行符。

由于某种原因,它只能在我的PC上工作,而不能在服务器上工作。所以我认为它必须是服务器解释断线的方式!

它们不被解释为空格。它们显示为空格。要按原样显示,您可以用预标记括起来。例如

document.write('<pre>' + s + '</pre>');

另外,您应该查找而不是//n

s.indexOf('n')

如果尝试输出到文档,可以将n替换为<br/>

例如 s.replace(/n/g, '<br/>')

如果你想在HTML中看到换行符,你必须使用<br /> HTML标签:

document.write("some_text_with_a_<br />_new_line");

但是在javascript中n是一个有效的换行符。例如,当您使用控制台.log或警报时,您将看到 2 行:

console.log("some_text_with_a_n_new_line");
alert("some_text_with_a_n_new_line");

最新更新