|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > PHP经验积累 > PHP如何处理textarea中的换行问题?
PHP如何处理textarea中的换行问题?

PHP如何处理textarea中的换行问题?

日期:2022-01-20 浏览量:1486 原创作者:湖八爷
HTML中的textarea标签是一个多行文本输入控件,理论上可容纳无限数量的文本。在textarea控件中输入文本的时候,只需回车即可换行。

如果不做任何处理,直接保存到MySQL数据库中,也会以换行的形式存在,但是当我们用PHP查询出来,展示到HTML页面中以后,你会发现是没有换行排版的,那我们应该如何解决这个问题呢?


在textarea控件中输入文本的时候回车换行.png


一,首先我们找一下这个问题的源头。

不难发现,导致这个问题出现的原因就是Html解析的时候不会把换行符解析成br标签,所以展示的时候就没有换行。



二,然后我们再想一下有哪些解决方案?那个解决方案更好一些?


解决方案1:在保存textarea文本的时候,用PHP将textarea文本中的换行符替换成br标签,然后再保存到数据库中。

具体代码如下:

$essay['description'] = str_replace(PHP_EOL, '<br />', $essay['description']);


解决方案2:保存textarea文本的时候不做任何处理,读取的时候用PHP将textarea文本中的换行符替换成br标签,再展示的Html页面中。

具体代码如下:

$essay['description'] = str_replace(PHP_EOL, '<br />', $essay['description']);

或者

$description = nl2br($description);


最终展示到Html中的效果.png


最后总结一下:我个人倾向于采用方案二,因为这样保留了textarea文本的原生态,读取的时候处理一下也不麻烦。