新手问题,后台添加新闻内容的时候有必要把大于小于号替换为<和&gl吗?

时间:2021-09-06 08:58:08
用FCKEDITER时,有时候会破坏先前的布局,这个怎么防范呢?比如,只输入了<div>而另一半没有输入。只能通过人工查错吗?

还有提交FCKEDITER里面的内容的时候有必要把把大于小于号替换为&lt和&gl吗?
或者其他的安全问题,或者技巧

请教一二

6 个解决方案

#1


防止脚本提交
回复内容太短了! 

#2


替换fckeditor中HTML元素

#3


/*----------------------------------------------------------------------------------------------
     转换HTML非法字符,用于输出显示时
     
---------------------------------------------------------------------------------------------*/
// function HTMLEncode(fString)
// {
//   var HTMLEncode = "";
//   if (fString != "" || fString != null) 
//   {
//      fString=fString.replace(/\[/g,"[");
//   fString=fString.replace(/\]/g,"]");
//   fString=fString.replace(/\'/g,"''''");
//   fString=fString.replace(/\+/g,"+");
//   fString=fString.replace(/\</g,"<");
//   fString=fString.replace(/\>/g,">");
//   fString=fString.replace(/\%/g,"[%]");
//   fString=fString.replace(/\&/g,"&");
//   fString=fString.replace(/\_/g,"[_]");
//   fString=fString.replace(/\\/g,"¥");
//      fString = fString.replace( ">", "&gt;");
//      fString = fString.replace( "<", "&lt;");
//      fString = fString.replace("\"", "&quot;");                //双引号

//      fString = fString.replace("\'", "&#39;");                 //单引号      
////    fString = fString.replace( chr(32)&chr(32), "&nbsp; ");   //空格
////    fString = fString.replace(/(^\s*)|(\s*$)/g, "")
////   fString = fString.replace(/^[\s ]+|[\s ]+$/g,"");       //替换全角空格
////   fString = fString.replace(/ /g,""); //替换半角空格
////    fString = fString.replace( chr(9), "&nbsp;");             //tab键值

////    fString = fString.replace( chr(10), "<br>");              //换行
////    fString = fString.replace( chr(13), "");                  //回车
//      fString = fString.replace(/\r\n/ig,"<br/>");
//      HTMLEncode = fString;
//   }
//   return HTMLEncode;
// }
/* 
****************************************************************************************** 
*     半角<=>全角    * 
****************************************************************************************** 
* 参数说明: 
* str:要转换的字符串 
* flag:标记,为0时半转全,为非0时全转半 
* 返回值类型:字符串 
**************************** 
*/ 
function DBC2SBC(str,flag) 

    var i; 
    var result=''; 
    if (str.length<=0) 
    {
        return result;
    } 
    for(i=0;i<str.length;i++) 
    { 
        str1=str.charCodeAt(i); 
        if (!flag)
        {
            if((str1 < 48 || str1 > 57 && str1 < 65 || str1 > 90 && str1 < 97 || str1 > 122 && str1 < 125) && str1 != 32) 
            {
                result+=String.fromCharCode(str.charCodeAt(i)+65248); 
            }
            else
            {
               result += String.fromCharCode(str.charCodeAt(i)+0)
            }
        }
        else 
        {
            result+=String.fromCharCode(str.charCodeAt(i)-65248); 
        }
    } 
    return result; 

#4


这样在把页面上的元素提交到数据库时,都最好应用我上面的方法。以免显示时脚本出错

#5


请教各位····················怎么防止HTML标记出错

#6


高人指点一下啊

实用编辑器还需要转换 HTML 标记吗

#1


防止脚本提交
回复内容太短了! 

#2


替换fckeditor中HTML元素

#3


/*----------------------------------------------------------------------------------------------
     转换HTML非法字符,用于输出显示时
     
---------------------------------------------------------------------------------------------*/
// function HTMLEncode(fString)
// {
//   var HTMLEncode = "";
//   if (fString != "" || fString != null) 
//   {
//      fString=fString.replace(/\[/g,"[");
//   fString=fString.replace(/\]/g,"]");
//   fString=fString.replace(/\'/g,"''''");
//   fString=fString.replace(/\+/g,"+");
//   fString=fString.replace(/\</g,"<");
//   fString=fString.replace(/\>/g,">");
//   fString=fString.replace(/\%/g,"[%]");
//   fString=fString.replace(/\&/g,"&");
//   fString=fString.replace(/\_/g,"[_]");
//   fString=fString.replace(/\\/g,"¥");
//      fString = fString.replace( ">", "&gt;");
//      fString = fString.replace( "<", "&lt;");
//      fString = fString.replace("\"", "&quot;");                //双引号

//      fString = fString.replace("\'", "&#39;");                 //单引号      
////    fString = fString.replace( chr(32)&chr(32), "&nbsp; ");   //空格
////    fString = fString.replace(/(^\s*)|(\s*$)/g, "")
////   fString = fString.replace(/^[\s ]+|[\s ]+$/g,"");       //替换全角空格
////   fString = fString.replace(/ /g,""); //替换半角空格
////    fString = fString.replace( chr(9), "&nbsp;");             //tab键值

////    fString = fString.replace( chr(10), "<br>");              //换行
////    fString = fString.replace( chr(13), "");                  //回车
//      fString = fString.replace(/\r\n/ig,"<br/>");
//      HTMLEncode = fString;
//   }
//   return HTMLEncode;
// }
/* 
****************************************************************************************** 
*     半角<=>全角    * 
****************************************************************************************** 
* 参数说明: 
* str:要转换的字符串 
* flag:标记,为0时半转全,为非0时全转半 
* 返回值类型:字符串 
**************************** 
*/ 
function DBC2SBC(str,flag) 

    var i; 
    var result=''; 
    if (str.length<=0) 
    {
        return result;
    } 
    for(i=0;i<str.length;i++) 
    { 
        str1=str.charCodeAt(i); 
        if (!flag)
        {
            if((str1 < 48 || str1 > 57 && str1 < 65 || str1 > 90 && str1 < 97 || str1 > 122 && str1 < 125) && str1 != 32) 
            {
                result+=String.fromCharCode(str.charCodeAt(i)+65248); 
            }
            else
            {
               result += String.fromCharCode(str.charCodeAt(i)+0)
            }
        }
        else 
        {
            result+=String.fromCharCode(str.charCodeAt(i)-65248); 
        }
    } 
    return result; 

#4


这样在把页面上的元素提交到数据库时,都最好应用我上面的方法。以免显示时脚本出错

#5


请教各位····················怎么防止HTML标记出错

#6


高人指点一下啊

实用编辑器还需要转换 HTML 标记吗