经过分析,浏览器解析html时的容错处理可以给出以下三种通用方法:
1.容错处理:分断(split)
作用:分断和父元素不相容的子元素,形成同级元素
如<p>中的<p>需要分断
2.容错处理:移动(move)
作用:移动固定格式父元素中违反格式的子元素到外层
以table为例:
内层: table的子层
外层: table的前向兄弟元素层(table->up_brother_elem)
<table>中直接的<font>,text需要移动到外层(<td>中的除外)
<table>---<tr>中的<font>,text需要移动到外层
3.容错处理:移除(remove)
作用:移除和父元素不相容的子元素
如<body>中的<tr>需要移除
要形成通用方法,必须在3中方法的判断条件中使用判定规则,
以决定父元素和哪些子元素不相容,又或者父元素中哪些元素需要移动,等情况。