亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ThinkPHP框架中使用富文本編輯器后如何輸出

ThinkPHP框架中使用富文本編輯器后如何輸出

李羅奧 2015-12-25 17:09:53
保存到數據庫里加了各種標簽,用special啥的去掉嗎?調用時又如何保持原樣輸出出來?
查看完整描述

3 回答

已采納
?
幫秋

TA貢獻125條經驗 獲得超79個贊

這個不需要去掉

查看完整回答
1 反對 回復 2015-12-25
?
李羅奧

TA貢獻4條經驗 獲得超5個贊

我們在利用ThinkPHP提交數據的時候,數據庫里的數據是含各種html標簽的,那么在輸出時就可以直接輸出嘛。但是,也許你的老師曾經告訴過你,在進行后臺數據提交的時候,要過濾掉html標簽,如I('content','','htmlspecialchars?')這樣來操作的。但是經過這樣的過濾后,你要是還想直接輸出來或是進行截取字符的時候就會遇到很多的麻煩。本人經過多次摸索的實驗,得來以下經驗,希望分享了可以幫助到大家。

總結:

在運用富文本提交數據時,為了在數據輸出時能夠正常顯示,有以下幾種方法:

1、在接收數據時采用如I('content','','htmlspecialchars')則在首頁顯示并截取數據字符串時,采用

{$m.content|htmlspecialchars_decode|strip_tags|cut_str=###,200,0}

其中,先把以過html轉義過的數據“<”恢復成如“<a>”這樣的html標簽,再用strip_tags函數把所有的html數據都去除后再截取。

包括其中的javascript代碼都不會顯示,也不會運行。

在詳細頁中使用{$news.content|htmlspecialchars_decode=###}

則在首頁截取后顯示的是有alert()代碼,但不會顯示其前面的<script></script>樣的字符,同時在詳細頁中不會顯示<script></script>

以及其中間的所有代碼。其他html標簽正常輸出轉換。

?

?

2、在接收數據時采用I('content')的形式,則在首頁顯示并截取數據字符串時,采用

{$m.content|strip_tags|cut_str=###,200,0}

其中,先把直接含html標簽的數據利用strip_tags函數進行去除后,再截取字符串輸出就可以了。

在詳細頁中使用{$news.content|htmlspecialchars_decode=###},則在首頁截取后顯示的是有alert()代碼,并且還會有其前面的<script></script>樣的字符,

在詳細頁中,這個會顯示javascript所有完整代碼,但不會執行。

?

3、在接收數據時采用I('content','','htmlspecialchars')的形式,則在首頁顯示并截取數據字符串時采用

{$m.content|htmlspecialchars_decode|strip_tags|cut_str=###,200,0}

在詳細顯示頁時使用{$news.content}顯示

則首頁截取的字符串正常,詳細頁中的數據顯示也是正常的,完整的javascript代碼會顯示,但不會執行。


查看完整回答
2 反對 回復 2015-12-26
  • 3 回答
  • 3 關注
  • 7355 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號