项目需求:
客户要求后台能导入HTML代码。这个代码是他用AI生成的新闻详情,自带了各种样式。
形如:
<style> .container-body{} .box{} </style> <div class="container-body"> <div class="box"></div> <div class="box"></div> </div>
使用过程:
在后台的编辑器中,切换成HTML再导入HTML代码,前端虽然能显示,但是所有的DIV被过滤掉,CSS也被过滤掉。
所以直接在后台编辑器中添加的方式,只能PASS掉。
然后我们想到使用扩展字段的多行字段。
后台添加扩展字段:ext_html
然后添加文章, 将HTML代码复制进去。之后发现内容被截取,很明显是字段字数和和类型被限制了。
打开数据库查看,发现字段是varchar,字数限制了100,所以修改调整为:mediumetext,长度改为空,即不限制。
然后再在后台重新添加提交。
这次数据正常保存起来了。但是前端显示又出问题了,总是在很多地方添加换行符号:
<br/>
所以我们打开:ContentController.php
找到如下代码 ,将里面的换行符号去掉就可以了。:
case 2: // 多行文本处理 $field_data = str_replace(["\r\n", "\n"], "<br>", $field_data); // 多行文本时替换回车 部分情况回车识别为\n @LiuXiaoBai break;
这次再打开前端测试,一切正常