代码高亮问题,html标签一直没解决

遭遇花无缺 发布于 2016/08/19 10:33
阅读 286
收藏 0
详情是这样的,
有一个html编辑器editor_content,
有一个textarea框id为codecontent,
有一个select id为codetype,

有一个按钮:<input type="button" value="插入代码" name="insertcode" id="insertcode" />

<select id="codetype" name="codetype">
<option value="0">请选择代码类型</option>
<option value="php">php</option>
<option value="javascript">javascript</option>
<option value="html">html</option>
<option value="css">css</option>
</select>
功能是把代码(css,html等)复制到codecontent,然后点击按钮将codecontent内容根据select选择类型插入到html编辑器。
js代码
$(document).on("click","#insertcode1",function(){
                var codetype=$("#codetype").val();
                if (codetype!=0){
                    var content=$("#codecontent").val().replace(/\n/g,"<br/>");
                    editor_content.insertHtml('<pre><span class="topnav"& gt;'+codetype+'代码</span><code class="'+codetype+'"> '+htmlspecialchars(content)+'</code></pre>');
                }
            });
function htmlspecialchars(str){  
                var s = "";
                if (str.length == 0) return "";
                for   (var i=0; i<str.length; i++)
                {
                    switch (str.substr(i,1))
                    {
                        case "<": s += "&lt;"; break;
                        case ">": s += "&gt;"; break;
                        case "&": s += "&amp;"; break;
                        case " ":
                            if(str.substr(i + 1, 1) == " "){
                                s += " &nbsp;";
                                i++;
                            } else s += " ";
                            break;
                        case "\"": s += "&quot;"; break;
                        case "\n": s += "<br>"; break;
                        default: s += str.substr(i,1); break;
                    }
                }
                return s;
            }


前台显示htmlspecialchars_decode(这里是存的内容)。

当选择css,javascript这些的都前台能正常显示,但是html(<code class="html"></code>)的就会直接显示成那个样子。如图

请问这个问题要怎么解决<code class="html"></code>的问题呢?
加载中
返回顶部
顶部