Beibehalten von Punktzeichen in PHP-Variablennamen aus GET-, POST- und COOKIE-Eingaben
In PHP Punktzeichen (.) in Variablennamen Über GET-, POST- oder COOKIE-Anfragen weitergeleitete Daten werden automatisch durch Unterstriche (_) ersetzt. Dies kann in bestimmten Szenarien problematisch sein.
Erklärung des Verhaltens von PHP
Laut PHP-Dokumentation sind Punkte keine gültigen Zeichen in PHP-Variablennamen. PHP wandelt sie in Unterstriche um, um Syntaxfehler zu vermeiden. Die folgenden Zeichen werden ebenfalls in Unterstriche umgewandelt:
Automatische Ersetzung deaktivieren
Leider Es gibt keine integrierte PHP-Konfigurationsoption, um dieses automatische Ersetzungsverhalten zu deaktivieren. Sie können die Unterstriche jedoch in Ihrem Skript manuell wieder in Punkte umwandeln.
Lösung: Nachbearbeitungsersetzung
Methode 1: Verwendung von str_replace
Der folgende Code ersetzt alle Unterstriche durch Punkte mithilfe von str_replace Funktion:
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = str_replace('_', '.', $var_with_underscores);
Methode 2: Verwendung von preg_replace
Sie können auch einen regulären Ausdruck verwenden, um die Ersetzung durchzuführen:
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = preg_replace('/_/', '.', $var_with_underscores);
Das obige ist der detaillierte Inhalt vonWie kann ich Punktzeichen in PHP-Variablennamen vor Benutzereingaben bewahren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!