URL-Codierung in PHP
-
Verwenden Sie
urlencode()
, um die URL in PHP zu kodieren -
Verwenden Sie
rawurlencode()
, um die URL in PHP zu kodieren
URLs können Pfad- und Abfrageparameter wie den vollständigen Namen einer Person, eine andere Weiterleitungs-URL oder ein Passwort enthalten. Diese können Sonderzeichen außerhalb des ASCII-Sets enthalten, wie Leerzeichen oder Zeichen wie $ & : /
.
Daher sollte die URL in ein legitimes ASCII-Format regeneriert werden, bevor sie über das Internet übertragen wird; Andernfalls können sie das HTTP-Protokoll stören.
Im heutigen Beitrag erfahren Sie, wie Sie URLs in PHP codieren.
PHP bietet 2 Funktionen zum Verschlüsseln der URL.
Verwenden Sie urlencode()
, um die URL in PHP zu kodieren
Es handelt sich um eine von PHP bereitgestellte integrierte Funktion, die verwendet wird, um die URL zu codieren. Diese Funktion ersetzt unsichere ASCII-Zeichen durch ein %
gefolgt von 2 hexadezimalen Ziffern. Diese Funktion kodiert nach application/x-www-form-urlencoded
. Eine URL darf keine Leerzeichen enthalten, daher ersetzt diese Funktion Leerzeichen durch ein Pluszeichen +
. Sonderzeichen werden basierend auf einigen vordefinierten Regeln in einem äußerst spezifischen Format neu generiert.
Syntax für urlencode()
urlencode(string $input);
Parameter
$input
: Dies ist ein obligatorischer Parameter, der nur die String-Eingabe-URL verwendet, für die die Codierung durchgeführt wird.
Rückgabewert
Es gibt eine Zeichenkette zurück, die alle nicht-alphanumerischen Zeichen enthält, außer -_.
, die durch das Zeichen %
ersetzt werden, gefolgt von 2 Hex-Ziffern.
Beispielcode:
<?php
echo urlencode("https://www.google.co.in/") . "\n";
echo urlencode("https://www.google.com/") . "\n";
?>
Ausgabe:
https%3A%2F%2Fwww.google.co.in%2F
https%3A%2F%2Fwww.google.com%2F
Verwenden Sie rawurlencode()
, um die URL in PHP zu kodieren
Es ist eine von PHP bereitgestellte integrierte Funktion, die eine gegebene URL-Zeichenkette (Uniform Resource Locator) gemäß RFC 3986 codieren kann. Sie codiert gemäß der einfachen Percent-Encoding. Es wird verwendet, um zu verhindern, dass wörtliche Zeichen als spezielle URL-Begrenzer interpretiert werden und URLs durch Übertragungsmedien mit Zeichenkonvertierungen (wie einige E-Mail-Systeme) verstümmelt werden.
Die Symbole oder Leerzeichen werden durch ein Prozentzeichen (%) gefolgt von 2 Hex-Ziffern ersetzt.
Syntax für rawurlencode()
rawurlencode(string $input);
Parameter
$input
: Dies ist ein obligatorischer Parameter, der nur die String-Eingabe-URL verwendet, für die die Codierung durchgeführt wird.
Rückgabewert
Es gibt eine codierte Zeichenkette zurück, die alle nicht-alphanumerischen Zeichen außer -_.~
-Symbolen enthält.
Beispielcode:
<?php
echo '<a href="http://testdomain.com/', rawurlencode('subscribers and admins/India'), '">';
?>
Ausgabe:
<a href="http://testdomain.com/subscribers%20and%20admins%2FIndia">
Der einzige Unterschied zwischen den Funktionen urlencode()
und rawurlencode()
besteht darin, dass Leerzeichen zuerst als +
und später als %20
kodiert werden. Auch ~
ist in urlencode()
kodiert, aber nicht in rawurlencode()
. Wenn Sie eine Abfragekomponente kodieren möchten, verwenden Sie urlencode()
und wenn Sie ein Pfadsegment kodieren möchten, verwenden Sie rawurlencode()
.
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn