晕,请搜索 web编辑器基本原理!百度,google 上多滴很!

解决方案 »

  1.   

    兄弟,我来帮助你,希望得分100,呵呵首先,你必须熟悉html 标签,就是 <html> <a> <body> <input> <br> <p>之类的符号,浏览器(ie, firefox等)对这些标签有特殊处理。浏览器看到这些标签后,会自动解析,然后转换成网页让我们看到第二,你想输出"<html>" 引号内的文字到网页上,直接在 文本里 写<html>是显示不出来的,因为浏览器会自动把这个关键字给转换掉。如果想输出到网页上需要写成"&lt;html&gt;"第三,&lt; 就是 < 符号,&gt; 就是 > 符号,浏览器碰到这些以 &开头 ;结尾的符号时,也会自动做转换,把相应符号生成在网页里(这类符号叫html转义符号)。你问题中说的现象,就是这么做出来的。再比如说网页里看到的空格,其实在html代码文本里是 &nbsp;表示出来的。最后,这些转移符号,可以到这里查到 http://hi.baidu.com/eagle_spring/blog/item/20fcfe80b912ded69123d9cb.html
      

  2.   

    Server.HtmlEncode(你要输出的HTML文本)
      

  3.   

    给你一点提示能做编辑器的容器就两个div和iframe在ie下
    <div contenteditable=true></div>就可以写东西了
    用对于iframe 需要用javascript设置起Oneditable=true就可以了.至于效果就是改变div或iframe的innerHTML就可以了.只是一点,你自己去查一查相关的资料吧
      

  4.   

    尽管textarea也可以做到显示多种标签
    但通常的web编辑器不是textarea, 而是designMode=on的iframe:
    ---------
    <font color=red>fdafdsafdsafdsaf</font>
    <iframe id=aaa src="about:blank"> 
    </iframe>     
    <script>    
    document.getElementById("aaa").contentWindow.document.designMode="On";
    </script>
      

  5.   

    哎呀,记错了,iframe的可编辑属性是designMode=On;误人子弟了
      

  6.   

    public  string htmlCoding(string temp)
            {
                temp = temp.Replace("<", "&lt;");
                temp = temp.Replace(">", "&gt;");
                temp = temp.Replace("'", "<|>");
                temp = temp.Replace("\n", "<br>");
                //temp = temp.Replace("\r", "<br>");
                temp = temp.Replace(" ", "&nbsp;&nbsp;");            return temp;
            }