PHP 5.4: htmlspecialchars() überarbeitet
Kommentare

Nikita Popov zeigt in seinem Blog drei Änderungen, die an der Funktion htmlspecialchars() für PHP 5.4 vorgenommen wurden. Als seine bevorzugten Neuerungen beschreibt Popov, dass UTF-8 zum Standardzeichensatz

Nikita Popov zeigt in seinem Blog drei Änderungen, die an der Funktion htmlspecialchars() für PHP 5.4 vorgenommen wurden. Als seine bevorzugten Neuerungen beschreibt Popov, dass UTF-8 zum Standardzeichensatz geworden ist, dass das Error Handling verbessert wurde und dass das Doctype Handling erweitert wurde.

Bislang werden Sonderzeichen in Gästebüchern oder Foren von htmlspecialchars() in HTML-Codes umgewandelt, wobei standardmäßig ISO-8859-1 als Zeichensatz verwendet wird, sofern man über das dritte Argument keine anderen Anweisungen gibt. Wenn man in htmlspecialchars() unter PHP 5.4 kein Argument übergibt, übersetzt die Funktion die Zeichen nach UTF-8.

Das Error Handling von htmlspecialchars() war bis vor PHP 5.4 quasi unbrauchbar, da es nur Fehlermeldungen in den Error Log schrieb, wenn Error Display deaktiviert war. Und da ungültige Zeichen bislang einfach einen leeren String zurückgaben, gibt es nun mit ENT_SUBSTITUTE eine neue Verhaltens-Option, mit der stattdessen ein (U+FFFD), also �, eingesetzt wird.

Beim Doctype Handling sind nun die Flags ENT_HTML401, (HTML 4.01, Standard-Wert), ENT_HTML5 (HTML 5)
ENT_XML1 (XML 1) sowie ENT_XHTML (XHTML) verfügbar. Auf diese Art lässt sich festlegen, wie die Zeichen übersetzt werden sollen. HTML5 bietet hier 1.510 Entitäten an, HTML 4.01 oder XHTML hingegen 253.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -