使用PHP检测文本区域中的回车符/换行符

时间:2011-05-12 15:38:17

标签: php html newline

如何在PHP中检测文本区域中的回车符/换行符?

我希望在将<br />标记存储到数据库之前将其替换为它们。

7 个答案:

答案 0 :(得分:9)

这有一个常量:

When do I use the PHP constant "PHP_EOL"?

另请参阅nl2br()

答案 1 :(得分:8)

我的建议是:“不要这样做”。 只需在数据库中存储换行符,但仅在生成输出时将其呈现给<br />。否则,当您想在不同的上下文中使用该数据时,您将遇到替换<br />的问题。

为此,您可以使用nl2br 请参阅:http://php.net/manual/en/function.nl2br.php

答案 2 :(得分:4)

只需nl2br它;)

PS:插入数据库时​​不要应用该函数(此处仅使用SQL转义)。只要您想将文本输出为HTML,就立即应用该功能。

答案 3 :(得分:3)

我知道这是v-old,但只是想在这里做一个笔记,甚至可能是为了我自己!这里的eols需要用双引号,否则它就不会起作用。见下文......

$eols = array(",","\n","\r","\r\n");
$text_area = str_replace($eols,'<br />',$_POST['text_area']);

希望这可以帮助别人不要像我刚做的那样浪费时间30分钟!

答案 4 :(得分:1)

您可以使用nl2br()。请注意,它会将\n\r\n转换为<br />\n

答案 5 :(得分:1)

您可以使用nl2br()功能。这将根据需要插入<br/>

通常我最喜欢将HTML格式保留在DB之外(除非它在源材料中)。您永远不知道何时可以将干净版本用于其他目的。

答案 6 :(得分:-1)

试试这个:

$text_area = str_replace(PHP_EOL,'<br/>', $text_area);

使用str_replace