項目需求:
客戶要求后臺能導(dǎo)入HTML代碼。這個代碼是他用AI生成的新聞詳情,自帶了各種樣式。
形如:
<style> .container-body{} .box{} </style> <div class="container-body"> <div class="box"></div> <div class="box"></div> </div>
使用過程:
在后臺的編輯器中,切換成HTML再導(dǎo)入HTML代碼,前端雖然能顯示,但是所有的DIV被過濾掉,CSS也被過濾掉。
所以直接在后臺編輯器中添加的方式,只能PASS掉。
然后我們想到使用擴(kuò)展字段的多行字段。
后臺添加擴(kuò)展字段:ext_html
然后添加文章, 將HTML代碼復(fù)制進(jìn)去。之后發(fā)現(xiàn)內(nèi)容被截取,很明顯是字段字?jǐn)?shù)和和類型被限制了。
打開數(shù)據(jù)庫查看,發(fā)現(xiàn)字段是varchar,字?jǐn)?shù)限制了100,所以修改調(diào)整為:mediumetext,長度改為空,即不限制。
然后再在后臺重新添加提交。
這次數(shù)據(jù)正常保存起來了。但是前端顯示又出問題了,總是在很多地方添加換行符號:
<br/>
所以我們打開:ContentController.php
找到如下代碼 ,將里面的換行符號去掉就可以了。:
case 2: // 多行文本處理 $field_data = str_replace(["\\r\\n", "\\n"], "<br>", $field_data); // 多行文本時替換回車 部分情況回車識別為\\n @LiuXiaoBai break;
這次再打開前端測試,一切正常