| |
| * Link führt ins Internet |
|
| |
URL- und HTML-spezifische Zeichenkettenfunktionen
|
|
Die Funktionen dieser Gruppe werden benötigt, wenn mithilfe der HTTP-Methode GET Daten mit entsprechenden Sonderzeichen im Query-String via URL übertragen werden sollen.
Ein weiterer Anwendungsbereich dieser Funktion ist, wenn Zeichen, die in HTML eine besondere Bedeutung haben, z.B. < und >, auf einer HTML-Seite dargestellt werden sollen, ohne dass der Browser diese Zeichen als HTML-Sonderzeichen interpretiert.
| Funktion | Beispiel | Beschreibung |
| get_meta_tags($file) | $array = get_meta_tags("inhalt.htm") | Extrahiert -Tags und gibt diese in einem Array zurück. |
| htmlentities($str) | $str1 = htmlentities($str) | Konvertiert HTML- und Sonderzeichen. Um die Interpretation zu verhindern. |
| htmlspecialchars($str) | $str1 = htmlentities($str) | Konvertiert HTML-Zeichen, wie & " ' < >. Um die Interpretation zu verhindern. |
| nl2br($str) | echo nl2br($str1) | Wandelt Zeilenumbrüche in -Tags um. |
| parse_str($str) | parse_str($str1) | Zerlegt den Query_String in seine Variablen. |
| parse_url($url) | $array = parse_url($url) | Zerlegt die URL in ihre einzelnen Bestandteile. Als Rückgabewert dieser Funktion erhalten Sie ein assoziatives Array mit den einzelnen Bestandteilen der URL. |
| rawurldecode($str) | echo rawurldecode($str1) | Wandelt Zeichenketten, die durch rawurlencode() kodiert wurden, in eine normale Zeichenkette um. |
| rawurlencode($str) | echo rawurlencode($str1) | Konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in Prozentzeichen und dem zweistelligen, hexadezimal ASCII-Wert zur Verwendung in einer URL. |
| strip_tags($str[,allow_tags) | echo strip_tags($str1) | Entfernt HTML- und PHP-Tags. Mit Hilfe des optionalen Parameters allow_tags können bestimmte HTML- und PHP-Tags als zulässig festgelegt werden. |
| urldecode($str) | echo urldecode($str1) | Wandelt eine Zeichenkette um, welche über eine URL übermittelt oder mit der Funktion urlencode() kodiert wurde. |
| urlencode($str) | echo urlencode($str1) | Konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in Prozentzeichen und dem zweistelligen, hexadezimal ASCII-Wert zur Verwendung in einer URL. |
| wordwrap($str,$pos,$sep) | $str = wordwrap($text, $length,$sep); | Bricht die Zeilen des Strings $str an der mittels $pos angegebenen Position um. Diese Zeilenumbrüche werden mit dem im (optionalen) Parameter $sep spezifizierten Steuerzeichen durchgeführt. |
Einsatz von htmlspecialchars()
Ein dieser Funktion übergebener String wird von der Funktion so umgewandelt, dass HTML-spezifische Sonderzeichen vom Browser nicht mehr als solche behandelt, sondern als normale Zeichen ausgegeben werden.
Das folgende Beispiel demonstriert dieses Verhalten. Wenn Sie den String des folgenden Skripts mit echo() im Browser ausgeben wollen, werden Sie zunächst gar nichts sehen. Dies liegt daran, dass der Browser die Zeichen < und > als HTML-Sonderzeichen zur Kennzeichnung von HTML-Tags interpretiert, wodurch der Inhalt des Strings zur Definition eines HTML-Grundgerüsts ohne weiteren Inhalt wird, was im Browser zu keiner Anzeige führt.
Soll der String dennoch angezeigt werden, muss dieser vor der Ausgabe so umgewandelt werden, dass die Sonderzeichen ihre HTML-spezifische Bedeutung verlieren. Diese Aufgabe erledigt htmlspecialchars().
Beispiel
<?php
$html = '<html>
<head>
<title>HTML</title>
<meta name="author" content="Caroline K">
</head><body bgcolor="#FFFFFF" text="#000000">Test</body>
</html>';
echo $html;
?>
|
Der vorstehende echo()-Befehl erzeugt erwartungsgemäss keine Ausgabe. Wird $html vor der Ausgabe im Browser mit htmlspecialchars() konvertiert, verlieren die Sonderzeichen < und > ihre HTML-spezifische Bedeutung, so dass die Zeichenfolge nun tatsächlich angezeigt wird.
echo htmlspecialchars($html);
|
Ausgabe
<html> <head> <title>HTML</title> <meta name="author" content="Caroline K"> </head><body bgcolor="#FFFFFF" text="#000000">Test</body> </html>
|
Einsatz von htmlentities()
Die Funktion htmlentities() kann für die gleiche Aufgabe verwendet werden. Der Unterschied zwischen htmlspecialchars() und htmlentities() besteht darin, dass htmlentities() zusätzlich zu den von htmlspecialchars() umgewandelten Zeichen < > & " ' auch Umlaute und andere Sonderzeichen konvertiert.
Beispiel
<?php
$html = "Übung";
// Ausgabe (Quelltext) - Übung
echo htmlentities($html);
?>
|
Einsatz von rawurlencode()
Die Funktion konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in Prozentzeichen gefolgt von dem zugehörigen zweistelligen, hexadezimal ASCII-Wert, um zu ermöglichen, dass der String in einer URL verwendet werden kann.
Zum Beispiel wird auf diese Weise das im String des folgenden Skripts enthaltene Sonderzeichen &, das in einem URL eine Sonderbedeutung hat, in das Zeichen %26 umgewandelt, wodurch es diese spezielle Bedeutung verliert. Die in einem URL nicht zulässigen Leerzeichen werden auf diese Weise in %20 umgewandelt.
Beispiel
<?php
$teilurl = "wert ein&wert zwei";
echo rawurlencode($teilurl);
?>
|
Ausgabe
Einsatz von rawurldecode()
Mit Hilfe der Funktion rawurldecode() kann die Konvertierung von rawurlencode() wieder rückgängig gemacht werden.
Beispiel
<?php
$teilurl = "wert%20ein%26wert%20zwei";
echo rawurldecode($teilurl);
?>
|
Ausgabe
Einsatz von nl2br()
Sie ersetzt sämtliche Zeilenumbrüche in der Zeichenkette durch einen HTML-Zeilenumbruch .
Diese Funktion wird z.B. verwendet, wenn Daten, die aus Multi-Line-Feldern von Datenbanken stammen, HTML-gerecht aufbereitet werden sollen.
Beispiel
<?php
$datenbankinhalt = "Hier ein
Umbruch aus
einer Datenbank";
echo nl2br($datenbankinhalt);
?>
|
Ausgabe
Hier ein
Umbruch aus
einer Datenbank
|
Ausgabe - Quelltext
Hier ein<br />
Umbruch aus<br />
einer Datenbank
|
Einsatz von parse_url()
Die Funktion zerlegt die URL in ihre einzelnen Bestandteile. Als Rückgabewert dieser Funktion erhalten Sie ein assoziatives Array mit den einzelnen Bestandteilen der URL. Diese Bestandteile bestehen aus:
. scheme - Protokoll der Anfrage (z.B. http, ftp, etc.)
. host - Name (z.B. www.atomicscript.de)
. port - Protnummer (z.B. 8000)
. user - Username (für Logins)
. pass - Userpasswort (für Logins)
. path - Pfad zu Datei (z.B. /info.php)
. query - Anfrage an eine Datei (z.B. signal=ein)
. fragment - Sprungziel (Anker) innerhalb der Datei (z.B. unten)
Beispiel
<?php
$urltotal = "matze:123@www.atomicscript.de:8000/info.php?signal=eins#unten";
$urlarray = parse_url($urltotal);
foreach ($urlarray as $key=>$element) {
echo "$key => $element<br>";
}
?>
|
Ausgabe
scheme => http
host => www.atomicscript.de
port => 8000
user => matze
pass => 123
path => /info.php
query => signal=eins
fragment => unten
|
|
|
|
|
|
|
|