如果不做任何处理,直接保存到MySQL数据库中,也会以换行的形式存在,但是当我们用PHP查询出来,展示到HTML页面中以后,你会发现是没有换行排版的,那我们应该如何解决这个问题呢?
一,首先我们找一下这个问题的源头。
不难发现,导致这个问题出现的原因就是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);
最后总结一下:我个人倾向于采用方案二,因为这样保留了textarea文本的原生态,读取的时候处理一下也不麻烦。