我的php web应用程序收到一个带有文本区域的表单,用户需要在其中添加换行符。
我只想把文字分成几行。
我应该在提交的$u帖子中使用哪种格式的换行符?
我知道,在不同的环境中,它可以是任何一种,但是什么适用于Web?浏览器、web服务器(在我的例子中是apache)还是php以某种方式规范了这一点?
我不想对用户浏览器做任何假设,我知道文本实际上是从excel中剪切粘贴的电子表格。
(此用户界面的设计不在我的控制范围内)
最佳答案
我应该在提交的$u帖子中使用哪种格式的换行符?
可能是你提到的任何一种格式。您无法控制客户端发送给您的内容,而且根据浏览器/平台/因子x,新行可能以任何可能的形式到达。
在继续处理数据之前,请使用正则表达式将其规范化为。
编辑:
正如@deceze所说,这在html5规范中指定如下,http://www.w3.org/TR/html5/forms.html#the-textarea-element:
当文本区域可变时,其原始值应由用户编辑:用户代理应允许用户编辑、插入和删除文本,并以“lf”(u+000a)字符的形式插入和删除换行符。
我不知道这是否以前在HTML4.01中指定过——但是,在处理数据之前,期待任何可能的换行符或字符组合并对其进行规范化是一种安全的方法。
关于php - 我应该在提交的文本区域中使用哪种格式换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15786848/