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
 Markdown to HTML
 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
 
 
 

Backslashes vor Sonderzeichen entfernen

Sie befinden sich: Home > Php Tutorial > Backslashes vor Sonderzeich...

Backslashes vor Sonderzeichen entfernen


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

Die Funktion stripslashes() ist eine PHP-Funktion, die den Backslash aus einer Zeichenkette entfernt. Backslashes werden als Escape-Zeichen verwendet, um Sonderzeichen darzustellen.

Syntax:

stripslashes(string $string) : string

Rückgabewerte:

Die Funktion stripslashes() gibt eine Zeichenkette zurück, die alle Backslashes enthält, die vorher in der Zeichenkette vorhanden waren.

Beispiel 1:

<?php

$str = "Ich liebe die Programmierung \\in PHP";
echo stripslashes($str);
?>

Ausgabe:

Ich liebe die Programmierung \in PHP 

Erklärung des Beispiel 1:

Der oben stehende Code verwendet die PHP-Funktion stripslashes(), um Escape-Sequenzen aus einem String zu entfernen. In diesem Fall wird der String „Ich liebe die Programmierung \\in PHP“ übergeben und die Escape-Sequenz „\“ wird durch die Funktion entfernt, sodass der String als „Ich liebe die Programmierung \in PHP“ ausgegeben wird, mit der PHP Funktion echo.

Beispiel 2:

<?php

$name="Robert\'s";
$name = stripslashes($name);
$query = "SELECT * FROM users WHERE name='".$name."'";
$result = mysqli_query($db, $query);
?>

Erklärung des Beispiel 2:

Mit diesem Code wird versucht, alle Daten aus der Datenbank „users“ abzurufen, in denen der Wert des Namens-Attributs dem Wert des Variablen „$name“ entspricht. 

Zuvor wird jedoch die Variable „$name“ modifiziert. Dies geschieht durch die Funktion „stripslashes“. Diese Funktion dient dazu, alle Backslashes (\) aus dem String zu entfernen. Dadurch wird verhindert, dass die im String enthaltenen Anführungszeichen (') als Teil eines SQL-Statements interpretiert werden.

Anschließend wird die SQL-Abfrage erstellt. Diese Abfrage gibt alle Datensätze in der Datenbank „users“ aus, in denen das Namens-Attribut dem Wert der Variable „$name“ entspricht. 

Der gesamte Code stellt also sicher, dass Daten aus der Datenbank „users“ abgerufen werden, in denen der Name dem Wert der Variable „$name“ entspricht und dass alle Backslashes aus dem String entfernt werden, bevor die SQL-Abfrage erstellt wird.

Beispiel 3:

<?php


// Beispiel-Mehrdimensionales Array mit Escape-Zeichen
$array = array(
"name" => "John O\'Connor",
"age" => 30,
"contacts" => array(
"email" => "john@example.com",
"phone" => "123-456-7890"
)
);

/* Anwendung von stripslashes auf das mehrdimensionale Array */
$strippedArray = stripslashes_deep($array);

/* Ausgabe des bearbeiteten Arrays */
print_r($strippedArray);

/* Funktion, um stripslashes auf ein mehrdimensionales Array anzuwenden */
function stripslashes_deep($value) {
return is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
}

?>

Ausgabe: 

Array

(
[name] => John O'Connor
[age] => 30
[contacts] => Array
(
[email] => john@example.com
[phone] => 123-456-7890
)

)

Erklärung:

In diesem Beispiel haben wir ein mehrdimensionales Array namens $array erstellt, das einige Daten enthält, darunter auch Zeichenketten mit Escape-Zeichen (in diesem Fall ein Apostroph). Das Escape-Zeichen wird verwendet, um sicherzustellen, dass das Zeichen in einer Zeichenkette korrekt interpretiert wird.

Die stripslashes_deep-Funktion wird definiert, um stripslashes rekursiv auf alle Elemente des Arrays anzuwenden. Die Funktion prüft, ob der übergebene Wert ein Array ist. Wenn ja, wird array_map verwendet, um stripslashes_deep auf jedes Element des Arrays anzuwenden. Wenn der Wert kein Array ist, wird einfach stripslashes darauf angewendet.

Dann wird die Funktion auf das mehrdimensionale Array $array angewendet, um alle Escape-Zeichen zu entfernen, und das bearbeitete Array wird in $strippedArray gespeichert.

Schließlich wird das bearbeitete Array mit print_r ausgegeben, um zu zeigen, dass alle Escape-Zeichen erfolgreich entfernt wurden.

Diagramm des Beispiel 3:

stripslashes_mehrdimensionales_Array_Diagramm_1

Erläuterung:

Das Diagramm beschreibt den Ablauf des PHP-Codes vom Beispiel 3, der ein mehrdimensionales Array mit Escape-Zeichen bearbeitet und dann das bearbeitete Array ausgibt.

  1. Start: Der Prozess beginnt hier.
  2. Initialisierung des mehrdimensionalen Arrays: Das mehrdimensionale Array wird erstellt, wobei ein Wert "name" den Namen „John O'Connor“ enthält.
  3. Anwendung von stripslashes_deep auf das Array: Die Funktion stripslashes_deep wird auf das mehrdimensionale Array angewendet, um alle Escape-Zeichen zu entfernen.
  4. Funktion stripslashes_deep: Hier wird erklärt, wie die Funktion stripslashes_deep arbeitet.
    • Überprüfen, ob Wert ein Array ist: Es wird überprüft, ob der Wert ein Array ist.
    • Ja: Wenn der Wert ein Array ist, wird array_map auf das Array angewendet, um die Funktion stripslashes_deep rekursiv auf jedes Element des Arrays anzuwenden.
    • Nein: Wenn der Wert kein Array ist, wird stripslashes auf den Wert angewendet, um die Escape-Zeichen zu entfernen.
  5. Ausgabe des bearbeiteten Arrays: Das bearbeitete Array wird ausgegeben, nachdem alle Escape-Zeichen entfernt wurden.
  6. Ende: Der Prozess endet hier.

 

Erklärung der PHP Funktion stripslashes():

Die PHP Funktion stripslashes() ist eine nützliche Funktion, mit der man Backslashes aus einer Zeichenkette entfernen kann. Hier sind einige Fragen, die häufig gestellt werden, um die Funktion stripslashes() besser verstehen zu können:

  • Was ist die Funktion stripslashes()?
    • Die Funktion stripslashes() ist eine PHP-Funktion, die den Backslash aus einer Zeichenkette entfernt. Backslashes werden als Escape-Zeichen verwendet, um Sonderzeichen darzustellen. 

  • Wie wird der Syntax der Funktion stripslashes() geschrieben?
    • Der Syntax der Funktion stripslashes() wird wie folgt geschrieben: stripslashes(string $string) : string

  • Was ist der Rückgabewert der Funktion stripslashes()?
    • Der Rückgabewert der Funktion stripslashes() ist eine Zeichenkette, die alle Backslashes enthält, die vorher in der Zeichenkette vorhanden waren.

  • Wo wird die Funktion stripslashes() verwendet?
    • Die Funktion stripslashes() wird verwendet, um Backslashes aus einer Zeichenkette zu entfernen.

  • Wie wird die Funktion stripslashes() aufgerufen?
    • Die Funktion stripslashes() wird aufgerufen, indem man den Namen der Funktion in der Form stripslashes() an eine Variable anhängt, die den Wert der Zeichenkette enthält, aus der die Backslashes entfernt werden sollen.

  • Welchen Nutzen hat es, die Funktion stripslashes() zu verwenden?
    • Es hat den Nutzen, Sonderzeichen in einer Zeichenkette zu entfernen, ohne dass man die Zeichenkette manuell bearbeiten muss.

  • Kann die Funktion stripslashes() auf mehreren Zeichenketten gleichzeitig angewendet werden?
    • Ja, die Funktion stripslashes() kann auf mehreren Zeichenketten gleichzeitig angewendet werden, indem die Funktion mehrmals innerhalb eines loops aufgerufen wird, der mehrere Variablen enthält.

      Beispiel:
      <?php
      
      $string = "This string has \'single quotes\' and \"double quotes\" in it.";

      for ($i=0; $i < strlen($string); $i++) {
      $newstring = stripslashes($string);
      }
      echo $newstring;
      ?>​

      Erklärung:

      In diesem Beispiel haben wir eine Variable namens $string, die einen String mit einzelnen Anführungszeichen („'“) und doppelten Anführungszeichen („"“) enthält. Wir erstellen eine Schleife, die die Länge des Strings durchläuft und jedes Zeichen einzeln überprüft. Mit der Funktion stripslashes() wird jedes Zeichen, das durch einen Backslash maskiert wurde, entfernt und der neue String wird in der Variable $newstring gespeichert. Am Ende wird der modifizierte String auf dem Bildschirm ausgegeben.

  • Kann die Funktion stripslashes() auf einzelne Zeichen angewendet werden?
    • Nein, die Funktion stripslashes() kann nicht auf einzelne Zeichen angewendet werden. Sie kann nur auf Zeichenketten angewendet werden.

  • Kann die Funktion stripslashes() zur Validierung von Formulardaten verwendet werden?
    • Ja, die Funktion stripslashes() kann zur Validierung von Formulardaten verwendet werden, um zu verhindern, dass Hacker unerwünschte Backslashes in die Formulardaten eingeben.

  • Kann die Funktion stripslashes() zur Entfernung von HTML-Tags verwendet werden?
    • Nein, die Funktion stripslashes() kann nicht zur Entfernung von HTML-Tags verwendet werden.

 

Tags:

 

Artikel hinzufügen bei:
         
Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.