กฎของ HTML Parser
ตาม HTML Spec: หากพบ </p> ที่ไม่มี <p> เปิดอยู่ Parser จะสร้าง <p> ว่างขึ้นมาให้อัตโนมัติ แล้วปิดมันทันที
เหตุผล
- HTML4 DTD:
</p>เป็น Optional End Tag แต่<p>Start Tag Required - SGML Declaration: OMITTAG YES - Start Tag สามารถ Omit ได้ (Implied)
- Parser Logic: พบ End Tag โดยไม่มี Start Tag -> Implicitly สร้าง Start Tag ขึ้นมา
ตัวอย่าง
<div>
<p>Paragraph 1
</p></p> <!-- Stray end tag -->
</div>
จะกลายเป็น: <p>Paragraph 1</p><p></p> (Empty paragraph ที่ 2)
แนวทางปฏิบัติ: เขียน HTML ให้ถูกต้อง ปิด Tag ครบถ้วน ใช้ Validator ตรวจสอบ