Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog Verzeichnis

Partner
Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

HTML-Zeichen in sichere Zeichen umwandeln

Sie befinden sich: Home > Php Tutorial > HTML-Zeichen in sichere Zei...

HTML-Zeichen in sichere Zeichen umwandeln


Eintrag am:  23.12.2022
Hits / Besucher:  221
Sprache: Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von    schubertmedia
 
Beschreibung

htmlspecialchars() ist eine PHP-Funktion, die einen String als Eingabe akzeptiert und dann spezielle HTML-Zeichen wie <>&" in sichere Zeichen umwandelt. Dies ist insbesondere für Benutzer, die über Text-Eingabefelder Eingaben vornehmen, sehr hilfreich.

Ohne diese Funktion können böswillige Benutzer Skripteingaben vornehmen, man spricht dann von Cross-Site-Scripting (XSS). Diese böswilligen Skripte können dann dazu benutzt werden, private Informationen zu stehlen oder Schaden anzurichten. Mit der PHP Funktion: htmlspecialchars() Funktion können diese Skripte jedoch neutralisiert werden, da sie HTML-Zeichen in sichere Zeichen konvertiert.

Der Syntax ist: 

htmlspecialchars($string, $flags, $encoding, $double_encode);

Erklärung: 

Der erste Parameter $string ist der String, der umgewandelt werden soll und der zweite Parameter $flags ist optional. Er definiert, welche HTML-Entitys umgewandelt werden sollen. Nachfolgen eine Auflistung der $flags welche verwenden werden können:

  • ENT_COMPAT
    • Ersetzt nur Anführungszeichen (") durch HTML-Entities
  • ENT_QUOTES
    • Ersetzt sowohl Anführungszeichen (") als auch Apostrophe (') durch HTML-Entities
  • ENT_NOQUOTES
    • Ersetzt keine Anführungszeichen oder Apostrophen.
  • ENT_IGNORE
    • Ignoriert ungültige UTF-8 Zeichen und ersetzt diese durch keine Entitäten.
  • ENT_SUBSTITUTE
    • Ersetzt ungültige UTF-8 Sequenzen mit einem Ersatzzeichen.
  • ENT_DISALLOWED
    • Ersetzt alle nicht erlaubten Zeichen mit HTML-Entitäten.
  • ENT_HTML401
    • Konvertiert Zeichen wie &kleiner; und &größer; in HTML4.01 Entitäten.
  • ENT_XML1
    • Konvertiert Zeichen wie &kleiner; und &größer; in XML1.0 Entitäten.
  • ENT_XHTML
    • Konvertiert Zeichen wie &kleiner; und &größer; in XHTML Entitäten.
  • ENT_HTML5
    • Konvertiert Zeichen wie &kleiner; und &größer; in HTML5 Entitäten.

Der dritte Parameter $encoding ist optional und bestimmt die verwendete Zeichenkodierung. Die wichtigsten Zeichenkodierungen, die von htmlspecialchars() unterstützt werden, sind UTF-8 (alias: "utf-8"), ISO-8859-1 (alias: "iso-8859-1"), ISO-8859-15 (alias: "iso-8859-15") und Windows-1252 (alias: "Windows-1252").

  • UTF-8 ist eine multibyte-Zeichenkodierung, die für die Darstellung von Unicode-Zeichen verwendet wird.
  • ISO-8859-1 ist eine 8-Bit-Single-Byte-Zeichenkodierung, die hauptsächlich in der westeuropäischen Region verwendet wird.
  • ISO-8859-15 ist eine 8-Bit-Single-Byte-Zeichenkodierung, die hauptsächlich in der europäischen Region verwendet wird.
  • Windows-1252 ist eine 8-Bit-Single-Byte-Zeichenkodierung, die hauptsächlich in der Windows-Region verwendet wird.

Der vierte Parameter $double_encode bestimmt, ob bereits existierende HTML-Entitys umgewandelt werden sollen oder nicht. 

Die Funktion htmlspecialchars() gibt einen umgewandelten String zurück.

Beispiel 1: 

<?php

$string = "<p>Das ist ein Test</p>";
echo htmlspecialchars($string);
?>

Ausgabe:

&lt;p&gt;Das ist ein Test&lt;/p&gt;

Beispiel 2: 

<?php

$string = "Schon &mal wieder ein Test";
echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8', false);
?>

Ausgabe:

Schon &amp;mal wieder ein Test

Fragen zur Funktion htmlspecialchars():

Die Funktion htmlspecialchars() ist eine nützliche Funktion, um spezielle HTML-Zeichen in sichere Zeichen umzuwandeln. In diesem Text stellen wir einige Fragen, um die Funktion besser zu verstehen.

  • Was ist die Funktion htmlspecialchars()?
    • Die Funktion htmlspecialchars() ist eine PHP-Funktion, die eine Zeichenfolge als Eingabe akzeptiert und spezielle HTML-Zeichen wie <>&" in sichere Zeichen umwandelt.

  • Was sind die Parameter der Funktion htmlspecialchars()?
    • Die Funktion htmlspecialchars() hat vier Parameter: $string, $flags, $encoding und $double_encode. Der erste Parameter $string ist der String, der umgewandelt werden soll und der zweite Parameter $flags ist optional und bestimmt, welche HTML-Entitys umgewandelt werden sollen. Der dritte Parameter $encoding ist optional und bestimmt die verwendete Zeichenkodierung. Beim vierte Parameter $double_encode bestimmen Sie, ob bereits existierende HTML-Entitys umgewandelt werden sollen oder nicht.

  • Was ist der Rückgabewert der Funktion htmlspecialchars()?
    • Der Rückgabewert der Funktion htmlspecialchars() ist ein umgewandelter String.

  • Was sind die möglichen Werte für den zweiten Parameter $flags?
    • Es gibt, mehre mögliche Werte für den Parameter $flags zu verwenden, ein paar hiervon sind: ENT_COMPAT, ENT_QUOTES, ENT_NOQUOTES, ENT_HTML401.

  • Was bedeutet der vierte Parameter $double_encode?
    • Der vierte Parameter $double_encode bestimmt, ob bereits existierende HTML-Entitys umgewandelt werden sollen oder nicht. Wenn $double_encode auf true gesetzt ist, werden bereits existierende HTML-Entitys umgewandelt. Wenn $double_encode auf false gesetzt ist, werden bereits existierende HTML-Entitys nicht umgewandelt.

  • Was ist der Unterschied zwischen ENT_COMPAT und ENT_QUOTES?
    • Der Unterschied zwischen ENT_COMPAT und ENT_QUOTES ist, dass ENT_COMPAT nur die doppelten Anführungszeichen (") umgewandelt wird, während ENT_QUOTES sowohl die doppelten als auch die einfachen Anführungszeichen (') umgewandelt werden.

  • Was macht die Funktion htmlspecialchars() mit dem Parameter $encoding?
    • Der Parameter $encoding bestimmt die verwendete Zeichenkodierung. Die Funktion htmlspecialchars() konvertiert alle Zeichen in die angegebene Zeichenkodierung.

  • Was passiert, wenn kein Parameter $flags angegeben wird?
    • Wenn kein Parameter $flags angegeben wird, werden alle HTML-Entitys umgewandelt.

  • Was ist der Unterschied zwischen ENT_HTML401 und ENT_NOQUOTES?
    • Der Unterschied zwischen ENT_HTML401 und ENT_NOQUOTES ist, dass ENT_HTML401 auch die folgenden Entitys umgewandelt: &, ", <, >. Während ENT_NOQUOTES nur die Anführungszeichen (") umgewandelt.

  • Wie verhindert man, dass bereits existierende HTML-Entitys umgewandelt werden?
    • Um zu verhindern, dass bereits existierende HTML-Entitys umgewandelt werden, muss der Parameter $double_encode auf false gesetzt werden.

  • Wo ist der Unterschied zwischen htmlspecialchars() und htmlentities()?
    • Der Unterschied zwischen htmlspecialchars() und htmlentities() liegt darin, dass htmlspecialchars() nur bestimmte HTML-Zeichen wie <>&" umgewandelt werden, während htmlentities() alle Zeichen in HTML-Entitys umwandelt.

 

Tags:

 

Artikel hinzufügen bei: