我应该在哪种格式中提交已提交的textarea中的换行符

时间:2013-04-03 12:03:56

标签: php forms http newline

我的PHP网络应用会收到一个带有textarea的表单,其中 用户希望添加换行符。 我想把文字分成几行。

我应该以哪种格式提交已提交的$ _POST中的换行符? 我知道在不同的环境中它可以是\ n,\ r,\ n \ r,\ r \ n中的任何一种,但适用于网络的是什么?浏览器,网络服务器(我的情况下是Apache)或PHP会以某种方式规范化吗?

我不想对用户浏览器做任何假设,而且我知道该文本实际上是一个剪切并从Excel粘贴的电子表格。

(此UI的设计不在我的控制范围内)

1 个答案:

答案 0 :(得分:2)

  

我应该以哪种格式提交已提交的$ _POST中的换行符?

可能是您提到的任何格式。您无法控制客户端发送给您的内容 - 并且取决于浏览器/平台/因子X换行符可能以任何可能的形式到达。

在继续使用数据之前,使用正则表达式将这些规范化规范化为\ n。

编辑:

正如@deceze所说,这在HTML5规范中指定如下,http://www.w3.org/TR/html5/forms.html#the-textarea-element

  

“当textarea是可变的时,其原始值应该由用户编辑:用户代理应该允许用户编辑,插入和删除文本,以及插入和删除换行符的形式“LF”(U + 000A)字符。“

我不知道之前是否在HTML 4.01中指定了这一点 - 但是,在使用数据之前,期望任何可能的换行符或字符串组合并将其规范化是安全的方法。