====== std.html ======
HTML-Escape und -Unescape für die fünf XML-Sonderzeichen (''&'', ''<'', ''>'', ''"'', ''''') sowie Named Entity Decoding. Tag-Analyse: Tag-Name extrahieren, erkennen ob ein Tag schließend ('''') oder selbst-schließend ('''') ist. ''StripTags'' entfernt alle HTML-Tags aus einem String; ''ValidateBalance'' prüft korrekte Tag-Verschachtelung; ''EncodeSpaces''/''DecodeSpaces'' für URLs.
Einsatzbereiche: Template-Engines, dynamische HTML-Generierung, HTML-Sanitisierung (XSS-Schutz), SEO-Analysetools die Webseiten-Inhalte auswerten, RSS-Feed-Verarbeitung.
**Autor:** Andreas Röne\\
**Copyright:** 2024-2025 Andreas Röne
----
===== Konstanten =====
^ Name ^ Typ ^ Wert ^ Sichtbarkeit ^
| ''HTML_AMP'' | ''int64'' | ''38'' | priv |
| ''HTML_LT'' | ''int64'' | ''60'' | priv |
| ''HTML_GT'' | ''int64'' | ''62'' | priv |
| ''HTML_QUOT'' | ''int64'' | ''34'' | priv |
| ''HTML_APOS'' | ''int64'' | ''39'' | priv |
| ''HTML_NBSP'' | ''int64'' | ''160'' | priv |
----
===== Funktionen =====
^ Signatur ^ Sichtbarkeit ^ Beschreibung ^
| ''Escape(input: pchar, output: pchar): int64'' | pub | Kodiert HTML-Sonderzeichen als Entities |
| ''entityNameLen(s: pchar, pos: int64): int64'' | priv | Ermittelt Länge eines Entity-Namens intern |
| ''entityToChar(s: pchar, pos: int64, len: int64): int64'' | priv | Konvertiert Named Entity zu Zeichencode |
| ''Unescape(input: pchar, output: pchar): int64'' | pub | Dekodiert HTML-Entities zu Klartextzeichen |
| ''isHtmlSpace(c: int64): bool'' | priv | Prüft ob Zeichen HTML-Whitespace ist |
| ''skipHtmlSpace(s: pchar, pos: int64): int64'' | priv | Überspringt Whitespace-Zeichen intern |
| ''findTagNameEnd(s: pchar, pos: int64): int64'' | priv | Findet Ende des Tag-Namens intern |
| ''GetTagName(html: pchar, output: pchar): int64'' | pub | Extrahiert Tag-Namen aus HTML-Tag |
| ''IsClosingTag(html: pchar): bool'' | pub | Prüft ob HTML-Tag ein schließendes ist |
| ''IsSelfClosing(html: pchar): bool'' | pub | Prüft ob Tag selbst-schließend ist |
| ''HasTags(s: pchar): bool'' | pub | Prüft ob String HTML-Tags enthält |
| ''NeedsEscape(s: pchar): bool'' | pub | Prüft ob String Escape-Zeichen enthält |
| ''ValidateBalance(html: pchar): int64'' | pub | Prüft korrekte Tag-Verschachtelung |
| ''StripTags(input: pchar, output: pchar): int64'' | pub | Entfernt alle HTML-Tags aus String |
| ''EncodeSpaces(input: pchar, output: pchar): int64'' | pub | Kodiert Leerzeichen als %20 für URLs |
| ''DecodeSpaces(input: pchar, output: pchar): int64'' | pub | Dekodiert %20 zurück zu Leerzeichen |