Top 10 PHP String Funktionen für jeden Webentwickler

Jedem PHP-Entwickler sollten Funktionen wie strlen(), addslashes() und strpos() ein Begriff sein. In dieser Top 10 Liste findest Du die wichtigsten, der ca. 100 String Funktion in PHP und lernst diese korrekt anzuwenden.

PHP Top 10 String Funktionen

1. str_pad() – Kommazahlen auffüllen

Fangen wir direkt mit einer meiner Lieblingsfunktionen an. Interessant ist diese Funktion z.B. für IDs und Strings, die eine bestimmte Länge haben müssen, diese aber nicht immer unbedingt haben. Hier ein Beispiel um es besser zu verstehen:

<?php 
$example = "706";

// Output: 70600000
echo str_pad($example, 8, "0");

// Output: 00000706
echo str_pad($example, 8, "0", STR_PAD_LEFT);

// Output: 00706000
echo str_pad($example, 8, "0", STR_PAD_BOTH);

// Output: 706-------
echo str_pad($example, 10, "-");
?>

Die Funktion erwartet zwei Parameter: Den zu veränderten String und die erwartete String Länge. Optional kann man das Füllzeichen als dritten Parameter mitgeben. Zusätzlich auch, an welcher Seite der String aufgefüllt werden soll. STR_PAD_RIGHT für rechts (Standard), STR_PAD_LEFT für links und STR_PAD_BOTH für beide Seiten.

Komplette Dokumentation: hier

2. explode() – Strings zu Array splitten

Wenn Du oft mit Arrays und JSON Daten arbeitest wirst Du auch um diese Funktion nicht herum kommen. Sie kann deinen String anhand eines bestimmten Zeichens oder ganzen Zeichenkette in ein Array aufsplitten. Sinnvoll kann das z.B. für URL-Parameter oder Dateinamen sein:

<?php 
$example = "jquery.min.js";

// split string at the . char
$splitted_string = explode(".", $example);

// Output: Array ( [0] => jquery [1] => min [2] => js )
print_r($splitted_string);	

// Output: File Extension: js
echo "File Extension: " . $splitted_string[2];
?>

Optional kann als dritten Parameter ein Limit angegeben werden. Dieser sorgt dafür, dass z.B. nur zwei Elemente im Array vorhanden sind, wenn man mehr nicht benötigt.

Komplette Dokumentation: hier

3. implode() – Arrays in Strings zusammenfassen

Diese Funktion ist der Gegensatz zu explode(). Die Funktion kann ein Array mit einem bestimmten Trennzeichen wieder zu einem String zusammen fügen. Diese Funktion wirst Du im Web Development recht oft einsetzen, da Sie z.B. bei Auflistungen, Zahlen oder SQL-Queries zum Einsatz kommt:

<?php 
$example = array("Tony Stark", "Peter Parker", "Bruce Wayne");

// Joins the array with a , char
$imploded_string = implode(", ", $example);

// Output: Top heros: Tony Stark, Peter Parker, Bruce Wayne
echo "Top heros: " . $imploded_string;
?>

Natürlich kann man diese Funktion auch binnen weniger Minuten selber programmieren. Allerdings muss man das Rad ja nicht immer neu erfinden.

Komplette Dokumentation: hier

4. strlen() – String Länge herausfinden

Nicht weg zu denken. Diese Funktion ist so vielseitig einsetzbar, z.B. bei Validierung von Benutzereingaeben oder vor der Eingabe in die Datenbank um eine bestimmte String Länge nicht zu überschreiten. Die Funktion gibt die Länge eines Strings zurück. Auch Leerzeichen werden mitgezählt. Es werden also Zeichen gezählt. Hier ein anschauliches Beispiel:

<?php 
// Output: 12
echo strlen("Hello World!");

// Output: 0
echo strlen("");

// Output: 1
echo strlen(" ");

// Output: 8
echo strlen("WebDEasy");
?>

Komplette Dokumentation: hier

5. strpos() – Auf Zeichen/Folgen untersuchen

Diese Funktion prüft, ob ein Zeichen oder eine ganze Zeichenfolge in einem String vorkommt. Diese Funktion wird häufig z.B. für die Auswertung von Benutzereingaben verwendet. Hier ein paar gute Beispiele:

<?php 
// Output: 2
echo strpos("Hello World", "l");

// Output: 
echo strpos("Hello World", "H");

// Output: 6
echo strpos("Hello World", "World");

// Check if the string contains 'World' 
if(strpos("Hello World", "World")) { }

// Output:
echo strpos("Hello World", "Hello", 2);
?>

Beim letzten Beispiel ist ein dritter Parameter mitgegeben. Dieser gibt einen Offset an. Das bedeutet, dass die Funktion erst ab dem zweiten Zeichen prüft, ob die Zeichen im String vorkommen. Ein negativer Wert in diesem Parameter setzt den Offset dem String von hinten.

Komplette Dokumentation: hier

Puuh! Damit haben wir schon die Hälfte der Top 10 PHP String Funktionen. Zweite Halbzeit:

6. addslashes() – Strings maskieren

Diese Funktion ist aus einem sicherheitstechnischen Aspekt extrem wichtig. Schon mal was von SQL-Injections gehört? Gut, denn diese Funktion kann einen Anteil daran haben, diese Angriffe vorzubeugen. Sonderzeichen, hier (‚, „, \, NUL) werden hier maskiert. Das bedeutet, es wird ein Backslash (\) vorangestellt, damit diese Zeichen nicht ungefiltert ins System gelangen:

<?php 
// Output: What\'s your name?
echo addslashes("What's your name?");

// Output: This is \"Me\"!
echo addslashes('This is "Me"!');

// Prevent SQL-Injection
// Output WITHOUT addslashes: INSERT INTO testuser (id, name) VALUES (1, ''; SELECT * FROM testuser;');
// Output WITH addslashes: INSERT INTO testuser (id, name) VALUES (1, '\'; SELECT * FROM testuser;');
$name = "'; SELECT * FROM testuser;";
echo "INSERT INTO testuser (id, name) VALUES (1, '" . addslashes($name) . "');";
?>

Der Unterschied bei dem SQL Beispiel ist zwar klein, kann aber verheerende Folgen haben!

Die umgekehrte Funktion heißt stripslashes(), die Dokumentation findest Du hier.

Komplette Dokumentation: hier

7. substr() – Textauszug erstellen

Diese Funktion ist allen Programmierern ein Begriff, da sie in so ziemlich jeder Programmiersprache existiert. Diese Funktion gibt einen Auszug aus dem String zurück:

<?php 
// Output: Easy
echo substr("WebDEasy", 4);

// Output: DE
echo substr("WebDEasy", 3, 2);
?>

Man kann den Anfang des Auszugs und natürlich die Länge mitgeben. Mehr muss dazu denke ich mal nicht gesagt werden. 😉

Komplette Dokumentation: hier

8. str_replace() – Zeichen ersetzen

Diese Funktion kann ein bestimmtes Vorkommen von Zeichen durch andere Zeichen ersetzen. Sinnvoll ist das z.B. bei Dezimalzahlen Eingaben, in dem zwischen dem deutschen Format (mit Kommas) und dem englischen Format (mit Punkten) unterschieden werden muss. Hier ein Beispiel dazu:

<?php 
// Output: 20,000
echo str_replace(".", ",", "20.000");

// Output: 20.000
echo str_replace(",", ".", "20,000");

// Output: Ths s n str_rplc xmpl n php! 
echo str_replace(array("a", "e", "i", "o", "u"), "", "This is an str_replace example in php!");
?>

Auch Arrays können als Parameter zum Ersetzen übergeben werden. Damit kann man sich einige Funktionsaufrufe sparen.

Komplette Dokumentation: hier

9. print_r() – Funktion für Alles

Meine absolute Lieblingsfunktion. Ok, zugegebener Maßen nicht nur für Strings gedacht, ich möchte sie aber trotzdem unbedingt zeigen. Neben der einfachen Ausgabe von „normalen“ Strings kann man auch Arrays anschaulich ausgeben. Außerdem kann man Strings oder Arrays in die Logs schreiben lassen, ohne dass die Formatierung verloren geht. Dazu muss der zweite Parameter auf true gesetzt werden:

<?php 
// Output: Hello World!
print_r("Hello World!");

// Output in log files: Hello World
error_log(print_r("Hello World", true));

// Output: Array ( [0] => This [1] => is [2] => an [3] => array )
print_r(array("This", "is", "an", "array"));
?>

Komplette Dokumentation: hier

10. strip_tags() – HTML Tags entfernen

Diese Funktion kann HTML-Code ohne Tags ausgeben. Quasi wie die str_replace()-Funktion, nur dass man nicht jeden HTML-Tag einzeln übergeben muss. So sieht das aus:

<?php 
// Output: Hello World!
echo strip_tags("<h1>Hello World!</h1>");

// Output: Hello World!
echo strip_tags("<div class=\"testclass\"><p>Hello <b>World!</b></p></div>");
?>

Komplette Dokumentation: hier

Die wichtigsten PHP String Funktionen sind Dir jetzt bekannt. Welche String Funktionen sind für Deinen Alltag am wichtigsten?

Hier findest Du eine vollständige Liste der PHP String Funktionen. Bestimmt kannst Du nun auch mit unseren anderen PHP Beiträgen etwas anfangen:

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.