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

6

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

我想在将其存储到数据库之前用<br />标签替换它们。

7个回答

9

好的,我不知道为什么这个被投票否决了,但我会接受你的答案,因为它完全符合我的需求 :) - André Alçada Padez

8
我的建议是:"不要这样做"。只需在数据库中存储换行符,但在生成输出时仅将其呈现为<br />。否则,当您想在不同的上下文中使用该数据时,就会出现替换<br />的问题。
为此,您可以使用nl2br。 请参见:http://php.net/manual/en/function.nl2br.php

4

只需使用nl2br函数即可 ;)

PS:在插入到数据库时不要应用该函数(仅在此处使用SQL转义)。在要将文本输出到HTML时尽早应用该函数。


+1 是为了方便用户后期编辑数值。 - Czechnology

4

我知道这篇文章很老,但是我想在这里做个记录,可能甚至是为了自己!这里的换行符需要用双引号括起来,否则它就无法工作。请参见以下内容...

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

希望这篇文章能够帮助像我一样在IT技术方面浪费了30分钟时间的人!

1

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


1

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

通常我更喜欢在数据库中不包含HTML格式(除非它在源材料中)。您永远不知道何时可能需要使用干净版本进行其他用途。


-1

试试这个:

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

使用str_replace函数


它对我来说很好用。我不得不用其他标签替换回车符。 - Utkarsh Panwar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接