# EscapeProcessor

## Überblick

Der `EscapeProcessor` ist ein String-Prozessor (im Gegensatz zu DOM-Prozessoren), der für das sichere Escaping von Variablen zum Schutz vor XSS-Angriffen zuständig ist.

## Funktionsweise

- Verarbeitet den HTML-String direkt (nicht das DOM)
- Ersetzt `{{ ... }}` durch escaped HTML (mit htmlspecialchars)
- Ersetzt `{{{ ... }}}` durch rohen HTML-Inhalt (ohne Escaping)

## Syntax

```
{{ variable }}    // Mit Escaping (sicher)
{{{ variable }}}  // Ohne Escaping (für vertrauenswürdigen HTML-Code)
```

## Beispiel

```html
<!-- Mit Escaping (sicher) -->
<div class="user-info">
    <h2>{{ username }}</h2>
</div>

<!-- Ohne Escaping (nur für vertrauenswürdigen HTML-Code) -->
<div class="rich-content">
    {{{ htmlContent }}}
</div>
```

## Implementierung

Der Prozessor verwendet reguläre Ausdrücke, um die Platzhalter zu finden und zu ersetzen:

1. Zuerst werden die rohen Platzhalter (`{{{ ... }}}`) ohne Escaping ersetzt
2. Dann werden die normalen Platzhalter (`{{ ... }}`) mit Escaping ersetzt

## Sicherheitshinweise

- Verwenden Sie `{{ ... }}` für alle Benutzerdaten oder nicht vertrauenswürdigen Inhalte
- Verwenden Sie `{{{ ... }}}` nur für vertrauenswürdigen HTML-Code oder wenn HTML-Markup explizit erlaubt sein soll
- Die Verwendung von `{{{ ... }}}` mit nicht vertrauenswürdigen Daten kann zu XSS-Sicherheitslücken führen

## Besonderheiten

Im Gegensatz zu den meisten anderen Prozessoren arbeitet der EscapeProcessor mit dem rohen HTML-String und nicht mit dem DOM. Dies ermöglicht das Ersetzen von Platzhaltern, bevor das HTML geparst wird.

## Tipps

- Verwenden Sie `{{ ... }}` als Standardmethode für die Ausgabe von Variablen
- Verwenden Sie `{{{ ... }}}` nur, wenn Sie explizit HTML-Markup zulassen möchten (z.B. für Rich-Text-Editoren)
- Dieser Prozessor kann vor der DOM-Verarbeitung verwendet werden, um Platzhalter in HTML-Attributen zu ersetzen
