|
||||||||||
|
JS JavaScript & JScript
|
Möchte man Texte mit JavaScript oder JScript direkt in ein HTML-Dokument ausgeben, was beispielsweise mit document.write() oder innerHTML() geschehen kann, steht man vor dem Problem, dass bestimmte Zeichen vom Webbrowser als HTML Befehle interpretiert werden und Anzeigefehler die Folge sind.
Neben diesem eher kosmetischen Problem besteht speziell bei Daten aus externen oder unbekannten Quellen auch die Gefahr eines so genannten Code Injection Angriffs. Eine solche oft verwendete Quelle sind z.B. URL-Parameter (auch als Query-String bezeichnet), auf die man in JavaScript und JScript mittels location.search() Zugriff hat.
Es gibt insgesamt vier HTML-eigene Zeichen, welche für die Auszeichnung von HTML Befehlen reserviert sind und daher immer maskiert d.h. in ihre jeweiligen Ersatzzeichenfolgen umgewandelt werden müssen, wenn sie im anzuzeigenden Text Verwendung finden sollen. Diese Zeichen sind:
| < (= Kleiner-Zeichen) | wird ersetzt durch | < (= less then) |
| > (= Größer-Zeichen) | wird ersetzt durch | > (= greater then) |
| & (= Kaufmanns-Und) | wird ersetzt durch | & (= ampersand) |
| " (= Doppelte Anführungszeichen) | wird ersetzt durch | " (= quotation mark) |
Nachfolgend finden Sie zwei Varianten der Funktion htmlspecialchars() für JavaScript bzw. JScript, welche in Bedienung und Ergebnis ihrem PHP Vorbild entsprechen. Beide führen Ersetzungen mit regulären Ausdrücken durch, haben aber ein leicht unterschiedliches Datenhandling.
Wenn Sie eine Möglichkeit suchen, auch z.B. deutsche Umlaute zu ersetzen, sollten Sie sich die Funktion
Syntax:
string htmlspecialchars ( string str , [int typ] )
Quelltext:
Erläuterungen:
| 2: | Stelle sicher, dass die Variable str vorhanden und vom Typ String ist. |
| 3: | Wenn Variable typ vom Typ nicht Zahl ist, setze sie auf Standardwert 2. |
| 4: | Stelle sicher, dass die Variable typ eine Ganzzahl zwischen 0 und 3 ist. |
| 5: | Definiere Suchmuster-Array from und fülle es mit den ersten drei Suchmustern. |
| 6: | Definiere Ersetzungs-Array to und fülle es mit den ersten drei Ersetzungszeichenfolgen. |
| 7: | Wenn typ den Wert 1 oder 3 hat, füge ein weiteres Element (Ersetzung für einfache Anführungszeichen) in die Arrays from und to ein. |
| 8: | Wenn typ den Wert 2 oder 3 hat, füge ein weiteres Element (Ersetzung für doppelte Anführungszeichen) in die Arrays from und to ein. |
| 9: | Durchlaufe Schleife für jedes Element im Array und ersetze in str mit Hilfe eines regulären Ausdruck das aktuelle Suchmuster aus from durch die aktuelle Ersatzzeichenfolge aus to. |
| 10: | Gibt den String str zurück. |
Gestestet mit:
Anmerkungen:
Mit dem optionalen Parameter typ steuern Sie - wie in der originalen PHP-Funktion - die Maskierung von einfachen und doppelten Anführungszeichen. Dabei sind folgende Werte definiert:
0 = Keine Anführungszeichen umwandeln
1 = Nur einfache Anführungszeichen umwandeln
2 = Nur doppelte Anführungszeichen umwandeln (Standardeinstellung)
3 = Beide Arten (einfache und doppelte Anführungszeichen) umwandeln
Syntax:
string htmlspecialchars ( string str , [int typ] )
Quelltext:
Erläuterungen:
| 2: | Stelle sicher, dass die Variable str vorhanden und vom Typ String ist. |
| 3: | Wenn Variable typ vom Typ nicht Zahl ist, setze sie auf Standardwert 2. |
| 4: | Stelle sicher, dass die Variable typ eine Ganzzahl zwischen 0 und 3 ist. |
| 5: | Definiere kombiniertes Suchmuster- und Ersetzungs-Array html. |
| 6: | Fülle das Array html mit den ersten drei Suchmustern (Schlüssel) und Ersetzungszeichenfolgen (Wert). |
| 7: | Wenn typ den Wert 1 oder 3 hat, füge ein weiteres Element (Ersetzung für einfache Anführungszeichen) in das Array html ein. |
| 8: | Wenn typ den Wert 2 oder 3 hat, füge ein weiteres Element (Ersetzung für doppelte Anführungszeichen) in das Array html ein. |
| 9: | Evaluiere über die Schleifendurchläufe für jedes Element im Array html und ersetze in str mit Hilfe eines regulären Ausdruck das aktuelle Suchmuster (Schlüssel) durch die aktuelle Ersatzzeichenfolge (Wert). |
| 10: | Gibt den String str zurück. |
Gestestet mit:
Anmerkungen:
Mit dem optionalen Parameter typ steuern Sie - wie in der originalen PHP-Funktion - die Maskierung von einfachen und doppelten Anführungszeichen. Dabei sind folgende Werte definiert:
0 = Keine Anführungszeichen umwandeln
1 = Nur einfache Anführungszeichen umwandeln
2 = Nur doppelte Anführungszeichen umwandeln (Standardeinstellung)
3 = Beide Arten (einfache und doppelte Anführungszeichen) umwandeln
Zu diesem Script liegen leider noch keine Bewertungen vor. Vielleicht möchten ja Sie der Erste sein, der eine Bewertung oder einen Kommentar hierzu abgibt. Also, worauf warten Sie noch?
► Bewertung für dieses Script schreiben.
Haben Ihnen diese Informationen weitergeholfen oder haben Sie an dieser Stelle etwas anderes erwartet?
Mit Ihrem Feedback können Sie helfen, die Qualität der infocamp.de Inhalte zu verbessern.
| Die infocamp.de Bereiche |
Spiele ( Computerspiele ) |
| Alle JavaScripte nach... |
Alphabet Kategorie Typ |
| Anzeigen |
| Ähnliche Scripte |
| Weitere JavaScript |
htmlentities() Funktion |
| Angebote bei eBay |