Die merkwürdigen Parsing-Regeln von HTML `<script>`-Tags und das Escapen von JSON
Dieser Artikel befasst sich mit den oft unintuitiven Parsing-Regeln von HTML ``-Tags, die Webseiten auf überraschende Weise zum Absturz bringen können. Er erklärt, wie Browser in verschiedene Zustände (Script-Daten, escaped Script-Daten, doppelt escaped Script-Daten) geraten, während sie den Inhalt innerhalb von `<script>`-Tags parsen. Der Eintritt in den Zustand „doppelt escaped Script-Daten“ verhindert, dass das schließende ``-Tag korrekt funktioniert, was zu einer fehlerhaften Seitenwiedergabe führt. Der Artikel empfiehlt, `json_encode($data, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES)` (oder Ähnliches) zu verwenden, um die Zeichen `<` und `>` in JSON-Strings zu escapen, wodurch der Zustand „doppelt escaped Script-Daten“ vermieden und eine korrekte Seitenwiedergabe sichergestellt wird.