你可以在數據保存的時候,通過你服務端語言來過濾;
或者再數據保存前,用js過濾之後再進行保存。
但既然選擇使用富文本編輯器,何必在資料庫中顯示不帶HTML標簽的內容?
㈡ ueditor 這是干什麼用的
方法/步驟
目前最新版本為1.1.7.3
下載下來的文件名為ueditor1.1.7.3.zip
把解壓出來的ueditor文件夾專整個復屬制到項目WebRoot下
1.頁面<head>里增加以下代碼
㈢ 去掉百度編輯器ueditor自動生成的p br標簽
網路的Ueditor編輯器出於安全xìng考慮,用戶在html模式下粘貼進去的html文檔會自動被去除樣式和轉義。雖然安全的,但是非常不方便。
做一下修改把這個功能去掉。
一、打開ueditor.all.js
二、大概9300行找到 ///plugin 編輯器默認的過濾轉換機制,把下面的
'allowDivTransToP':true
值改成false。為true的時候會自動把div轉成p。
三、大概9429行,有個case 'li',這個是把li裡面的樣式去掉,把這個case注釋掉。
四、大概14058行,下面的第一個utils.each功能注釋掉,這個是自動給li裡面的內容增加一個p。
五、大概14220行,
node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type;
注釋掉,這個是自動給ul增加一個內置的樣式。
下面的14222行
li.style.cssText && (li.style.cssText = '');
注釋掉,這個是自動去除粘貼進去的代碼的li的style樣式
至此,我們粘貼進去的html格式的ul和li就不會被轉義了。
更多
㈣ ueditor純文本粘貼時如何去除每行前的空格
UEditor內置復了無格式粘貼的功制能,只需要簡單的配置即可。
1、修改ueditor.config.js,開啟retainOnlyLabelPasted,並設置為true
2、開啟pasteplain,並設為true
3、開啟filterTxtRules過濾規則。
㈤ ueditor插入html代碼保存後,再次編輯文章時html代碼被過濾只顯示文本內容!
遇到問題多看官方文檔和官方API。
官方初始化參數文檔:http://fex..com/ueditor/#start-config
官方API文檔:http://ueditor..com/doc/
最簡單的解決方專法如下:
//如下寫屬法即可
varue=UE.getEditor("editor",{
initialContent:"${initParam}"
});
如果不能滿足要求,比如這樣的話,之前在文本中插入的圖片,在修改時會展示<img>標簽,可以用filterTxtRules選項解決。當然,一般沒人會把圖片也跟文本一起存入資料庫
㈥ ueditor編輯器怎麼取消對 iframe標簽的過濾
提交時用escape把字元串編碼,輸出時unescape再解碼 自己網路html實體字元,進行替換 修改回php 比較推薦答1,而且編碼之前可以自己把危險標簽去掉,比如iframe和script 1,2用js在表單的onsubmit里完成
㈦ ueditor里插入的script,style等標簽被過濾掉怎麼解決
提交時用escape把字元串編碼,輸出時unescape再解碼 自己網路html實體字元,進行替換 修改php 比較推薦1,而且編碼之前可以自己把危險標簽去掉,比如iframe和script 1,2用js在表單的onsubmit里完成
㈧ ueditor1.4.3阻止過濾span標簽
打開ueditor.all.js文件,搜索「allowDivTransToP」,找到以下代碼:
//進入編輯器的內容處理
me.addInputRule(function (root) {
....此處代碼省略
//進行默認的處理
root.traversal(function (node) {
if (node.type == 'element') {
if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {
if (!node.firstChild()) node.parentNode.removeChild(node);
else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
//取消默認過濾span標簽
//node.parentNode.removeChild(node, true)
}
return;
}
....此處代碼省略
}
});
//從編輯器出去的內容處理
me.addOutputRule(function (root) {
var val;
root.traversal(function (node) {
if (node.type == 'element') {
if (me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {
if (!node.firstChild()) node.parentNode.removeChild(node);
else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
//取消默認過濾span標簽
//node.parentNode.removeChild(node, true)
}
return;
}
...此處代碼省略
}
})
});
說明:加粗部分為修改代碼,將兩端代碼注釋掉即可
㈨ ueditor 過慮掉了frame怎麼解決
首先在ueditor.all.js文件內搜索allowDivTransToP,找到如下的代碼,將true設置為版false:
me.setOpt('allowDivTransToP',false);
這個設置的意思是權默認的設置是將div自動轉換為p,這樣就過慮了div標簽。
接著向下找addInputRule方法中將switch代碼段中的switch (node.tagName)都給注釋或者刪掉,這裡面的case有style,script,a標簽等,
addInputRule方法開始處的代碼千萬別注釋或者刪掉,那是執行的默認處理。
進行以上修改後,再在後台編輯器器中插入代碼塊時,再次編輯時進編輯中的代碼就不會被過慮了,同樣前台如果使用了編輯也同樣不會被過慮掉。