company logo
advertisement for deep fried Twinkies


HTML结构代码和字符串的相互转换


//Html结构转字符串形式显示 支持<br>换行
function ToHtmlString(htmlStr) {
    return toTXT(htmlStr).replace(/\&lt\;br[\&ensp\;|\&emsp\;]*[\/]?\&gt\;|\r\n|\n/g, "<br/>");
}
//Html结构转字符串形式显示
function toTXT(str) {
    var RexStr = /\<|\>|\"|\'|\&| | /g
    str = str.replace(RexStr,
    function (MatchStr) {
        switch (MatchStr) {
            case "<":
                return "&lt;";
                break;
            case ">":
                return "&gt;";
                break;
            case "\"":
                return "&quot;";
                break;
            case "'":
                return "&#39;";
                break;
            case "&":
                return "&amp;";
                break;
            case " ":
                return "&ensp;";
                break;
            case " ":
                return "&emsp;";
                break;
            default:
                break;
        }
    }
    )
    return str;
}
//找了半天没找到转换回来的,如果直接把上面得到的字符串加进网页只能成为字符,无法以结构显示,所以要再转回去,才难使用,自己写了一个,不知会存在什么问题。
function toHTML(str) {
    //var RexStr = /\<|\>|\"|\'|\&| | /g
    var RexStr = /\&lt;|\&gt;|\&quot;|\&#39;|\&amp;|\&ensp;|\&emsp;| | /g
    str = str.replace(RexStr,
    function (MatchStr) {
        switch (MatchStr) {
            case "&lt;":
                return "<";
                break;
            case "&gt;":
                return ">";
                break;
            case "&quot;":
                return "\"";
                break;
            case "&#39;":
                return "'";
                break;
            case "&amp;":
                return "&";
                break;
            case "&ensp;":
                return " ";
                break;
            case "&emsp;":
                return " ";
                break;
            default:
                break;
        }
    }
    )
    return str;
}