【发布时间】:2011-08-24 05:57:12
【问题描述】:
如何在 PHP 的文本区域中检测回车/换行符?
我想在将它们存储到数据库之前将它们替换为<br /> 标签。
【问题讨论】:
如何在 PHP 的文本区域中检测回车/换行符?
我想在将它们存储到数据库之前将它们替换为<br /> 标签。
【问题讨论】:
【讨论】:
您可以使用nl2br()。请注意,它会将\n 和\r\n 转换为<br />\n。
【讨论】:
就nl2br吧;)
PS:插入数据库时不要应用该函数(这里只使用SQL转义)。只要您想将文本输出到 HTML,就应用该函数。
【讨论】:
【讨论】:
您可以使用nl2br() 函数。这将根据需要插入<br/>。
我通常倾向于将 HTML 格式排除在 DB 之外(除非它在源材料中)。您永远不知道何时可能要将干净版本用于其他目的。
【讨论】:
我的建议:“不要这样做”。
只需将换行符存储在数据库中,但仅在生成输出时将其呈现为<br />。否则,当您想在不同的上下文中使用该数据时,您将遇到替换 <br /> 的问题。
为此,您可以使用nl2br
见:http://php.net/manual/en/function.nl2br.php
【讨论】:
我知道这是 v-old 但只是想在这里做一个笔记,甚至可能是为了我自己!这里的 eols 需要用双引号括起来,否则就行不通了。见下文...
$eols = array(",","\n","\r","\r\n");
$text_area = str_replace($eols,'<br />',$_POST['text_area']);
希望这可以帮助别人不要像我刚刚花了 30 分钟那样浪费时间!
【讨论】: