【发布时间】:2011-09-13 12:41:00
【问题描述】:
这个问题困扰了我一百万年......每当我创建一个带有允许多行的文本区域的网站(例如用户个人资料的“Bio”)时,我总是最终编写以下偏执代码:
// C# code sample...
bio = bio.Replace("\r\n", "\n").Replace("\r", "\n");
bio = Regex.Replace(@"\n{2,}", "\n\n");
那么,如果<textarea name="Bio"></textarea> 有多行,浏览器会发送什么?
【问题讨论】:
-
哇,我以为这是一个奇怪的问题,不会引起任何关注……但是 1 小时内获得了 16 票,太疯狂了。
-
想一想,我从来没有遇到过与此相关的问题。如果有人输入换行符,它会在所有操作系统、MySQL 客户端、浏览器等中显示为换行符。看起来这意味着大多数软件对这个问题都有一些一致的看法。当然,如果我要用它做一些重要的事情,我总是会正常化。
-
如果我依赖“\r\n”,然后正在构建用户简历的“HTML 格式”版本,问题就会出现,因为我从未遇到过“\r\ n",我将它们全部归为一个
<p>标签。
标签: html browser web-standards line-breaks