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