例如:从网页上复制一段内容,粘贴之后会丢失一些标签,特别是一些结束标签。用什么方法可以补全丢失了的标签呢?

解决方案 »

  1.   


    就是想做一个这样的功能:一个web编辑器上,让别人填写内容,别人可能复制别的网页上的内容,这样复制的话可能会复制不全,但是我要获取完整的,然后去页面显示出来。
      

  2.   

    几种方法:
    1、使用一些通用的HTML解释器,装载这个格式不正确的HTML段,然后output出来就是格式正确的。推荐一个组件:htmlagilitypack(开源)
    2、自己做标签补偿,标签都是成对出现的,可以使用一个栈来完成标签的完整性检查,可能用到一点语法分析的东西,不过应该不难,自己懒得弄就用上面那个组件。
    3、不信任第三方的可以使用mshtml这个组件,微软的IE就用这东西解析的,另外可以参考其他开源浏览器的实现(原理和2相同)。