情景復現
富文本編輯器將數據存入數據庫時帶有格式,從數據庫取出後被當成string處理,展示到頁面時無法正常解析,會帶着各種標籤。如圖:
處理後
如圖:
解決過程
通過js或jq獲取其中的文本,處理後重新爲文本賦值。
$(function(){
var a = $(".news_abstract").text(); //news_abstract爲p標籤的class值
$(".news_abstract").html(a);
});
我有話說
本人這裏是要實現新聞頁面,展示主要用的volist標籤來實現的,但通過此方法會將所有的文章內容都變成一樣的,如圖:
所以最終爲每個內容p標籤加上了唯一的屬性值,且因我設置的分頁爲每頁顯示5條,所以將js循環執行5遍,若你需要實現的功能與我相似,希望我的功能實現方式可以對你有所幫助。
下面是我的html與js:
<volist name='news' id='vo'>
<div class="news">
<a href="#"><p class="news_title">{$vo.title}</p></a>
<a href="#"><p class="news_time">{$vo.addtime|date='Y-m-d H:i',###}</p></a>
<a href="#"><p class="news_abstract" data-id="{$i}">
<!-- 控制顯示字數 -->
<if condition="mb_strlen($vo['content'],'utf-8') egt 160">{$vo.content|\\Org\\Util\\String::msubstr=0,160}
<else/> {$vo.content}</if>
</p></a>
</div>
<hr>
</volist>
<!-- $page輸出分頁 -->
<div class="pages">{$pages}</div>
<script>
$(function(){
for (var i = 5; i >0; i--) {
var a = $(".news_abstract[data-id="+i+"]").text();
$(".news_abstract[data-id="+i+"]").html(a);
}
});
</script>