URL-Codierung in PHP

Shraddha Paghdar 22 Januar 2022
  1. Verwenden Sie urlencode(), um die URL in PHP zu kodieren
  2. Verwenden Sie rawurlencode(), um die URL in PHP zu kodieren
URL-Codierung in PHP

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 Paghdar avatar Shraddha Paghdar avatar

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