我想知道CR LF(Windows),LF(Unix)和CR(Macintosh)换行符类型之间的差异(如果可能的话,有示例).
我为客户开发了一个站点,他希望能够在后端类型的解决方案中编辑主页的一小部分.所以作为一个解决方案,我想添加一个非常基本的编辑器(domain.com/backend/editor.php),当你访问它时,它将有一个包含代码和保存按钮的文本字段.它将编辑的代码将设置为TXT文件.
我认为这样的东西很容易在PHP中编码,但谷歌这次没有帮助我所以我希望这里可能有人会指出我正确的方向.请注意,我没有PHP编程经验,只有HTML和基本的javascript,所以请在您提供的任何回复中彻底.
我将这个简单的测试页面保存为 page1.html。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript">
function submitForm() {
alert(escape(document.myform.mytextarea.value));
return true;
}
</script>
</head>
<body>
<form name="myform" action="page2.html" method="post" onsubmit="javascript:return submitForm();">
<textarea name="mytextarea">xxxyyy</textarea>
<input type="submit" value="submitForm">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
并且这个页面保存为page2.html。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
Page2.html
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我在 Firefox 下打开 page1.html (我认为版本并不重要,但它是 18.0。Chrome 或 IE 10.0 也有同样的问题)。在单击“submitForm”按钮之前,我在值“xxx”和“yyy”之间按一下 ENTER,如下所示。

当我单击“submitForm”按钮时,警报会显示“xxx”和“yyy”之间的一个字符,即 \n 编码为“%0A”。

如果我查看 Firebug 发布的内容,我可以看到两个字符“\r\n”编码为“%0D%0A”。

您能解释一下为什么 \n 在 POST 上转换为 \r\n 以及如何防止这种情况发生?我最小化了我的问题,但这对我来说确实是个问题。
我可以在 MAC OS 上的 Safari 下测试这一点,并且在 …
backend ×1
editor ×1
html ×1
html-editor ×1
http ×1
http-post ×1
javascript ×1
line-breaks ×1
php ×1
post ×1