PHP处理textarea提交带换行的文本前端却不展示换行问题

有时候后端接受到的textarea值会直接保存到数据库,当前端拿来用的时候无法展示出换行。

比如传递的是PHP处理textarea提交带换行的文本前端却不展示换行问题_第1张图片
这里有两种方法解决

第一种.文本转换数组返回给前端
//装换数组进行储存,然后再通过数组传给前端取展示。
$content = $_POST['content'];		//接收要处理的值
$contentarr = explode("\n",$contetn); 	//通过explode函数以空格为分割点将文本组装成数组
//由于数据库里不能直接保存数组所里我们这里要对数组进行序列化后才能进行保存
$contetnser = serialize($contentarr);	//序列化我们要保存的值
这里需要注意的是PHP中双引号里的变量可以得到解析,单引号里的变量不进行解析。
所以我们进行数组分割的时候换行一定要用双引号”\n“来表示换行

返回给前端数组

//返回前端数组文本数组
$content = 数据库里content的值;		//从数组库里取出值
//将数据库中序列化的值转换成数组返回给前端处理
$contetnarr = unserialize($contentarr);	//返序列化保存的值返回给前端
echo json_encode($contentarr);
第二种.替换提交文本中的空格为可保存字符作为前端换行的依据
$content = $_POST['content'];		//接收要处理的值
$content = str_replace("\n",'*',$contetn); 	//将文本中换行替换成前端可展示的字符
//将处理过的文本保存进数据库,这是从数据库取出的值可以直接返回

//如果:
echo json_encode($content);
这里你要和你的前端沟通好将  ”*“ 作为开始换行的依据!

你可能感兴趣的:(PHP,php)