• About
  • Kontakt
  • Sitemap
  • Impressum
rss
Logo
  • Startseite
  • Blogging
  • WordPress
  • HTML & CSS
  • AJAX
  • PHP
  • Link-Tipps
You are here: Web:Manual » PHP » Die wichtigsten PHP String-Funktionen (Teil 3.1: Teilen von Strings)

Die wichtigsten PHP String-Funktionen (Teil 3.1: Teilen von Strings)

23. Mai 2008 Thomas PHP Ein Kommentar

Eigene Anzeige: Ich biete professionelle Wordpress Themes mit tollen Features, hübschem Design und Premium Support. Weitere Informationen und Live Demo findest du auf meiner Website ThemeZee.com

Viele Strings müssen – insbesondere nach Eingabe vom Benutzer – im PHP Script weiter verarbeitet werden. So werden zum Beispiele Teile eines Strings ersetzt, mehrere Strings zusammengesetzt oder aufgeteilt, Leerzeichen entfernt oder auf einen bestimmten Wert überprüft. Und noch vieles vieles mehr… Auch hier liefert PHP von Haus aus eine Menge Funktionen mit.

Mh habe nach ein wenig Schreiben festgestellt dass das Ganze schon wieder viel zu viel wird für einen Beitrag ;) Darum teile ich den Punkt 3: Verarbeiten von Strings noch einmal in ein paar Einzelpunkte. Der erste ist Teil 3.1 Teilen von Strings.

explode

Diese Funktionen zerteilt einen String in mehrere Strings, schreibt diese in ein Array und gibt das Array zurück. Im ersten Parameter wird die Zeichenkette zur Trennung übergeben, d.h. immer wenn diese im String vorkommt erfolgt die nächste Teilung. Im Beispiel unten wird der String bei jedem Minus ( – ) geteilt. Geteilt wird die Variable $str, d.h. der zweite Parameter.

$str = "?user-profil-121";
$arr = explode('-', $str);
print_r($arr);

Folgende Ausgabe wird damit erzeugt:
Array ( [0] => ?user [1] => profil [2] => 121 )

Man beachtet hierbei, dass das Minus natürlich komplett wegfällt. Wenn jetzt kein Delimiter ( das Begrenzungszeichen, hier das Minus) zu finden ist, wird trotzdem ein Array zurückgegeben, in dem halt dann nur ein einziger, nämlich der komplette String steht. Optional kann noch ein dritter Parameter angegeben werden, wie oft der String zerteilt werden soll. Steht hier z.B. die Zahl zwei, wird der String nur einmal geteilt und der Rest des Strings nicht mehr.

Das Ilch Clanscript verwendet genau diese Funktion für die Ansteuerung der richtigen Seiten. Es wird einfach $arr[0] ausgelesen, die richtige Seite eingebunden und dort mit $arr[1] in die richtige switch-case Anweisung gesprochen. Mit $arr[2] wird schließlich die ID des Users übergeben und somit die richtigen Daten aus der Datenbank geholt.

str_split

Eine weitere Funktion um Strings zu zerteilen ist str_split. Bei dieser Funktion wird jedoch nicht bei einer bestimmten Zeichenkette getrennt, sondern nach der übergegeben Länge. Aus diesem Umstand wird der String auch in lauter Teile mit gleicher Länge geteilt. Auch hier wird wieder ein String Array mit den geteilten Strings zurückgegeben. Im ersten Parameter wird der zu teilende String übergeben, im zweiten die gewünschte Länge. Siehe Beispiel

$str = "hallo-das-ist-ein-test-von-web-manual";
$arr = str_split($str, 5);
print_r($arr);

Durch den Code wird folgendes ausgegeben:
Array ( [0] => hallo [1] => -das- [2] => ist-e [3] => in-te [4] => st-vo [5] => n-web [6] => -manu [7] => al )

Wenn der zweite Parameter nicht übergeben wird, wird automatisch der Standardwert 1 verwendet, d.h. nach jedem Zeichen getrennt. Bei einem Wert kleiner 1 gibt die Funktion false zurück, bei einem Wert größer als der String wird gar nicht geteilt und der String als einziger Wert ins Array geschrieben.

Substr

Substr teilt einen String nicht wirklich, sondern gibt eigentlich einen Teil des Strings zurück. Den String der zurückgegeben werden soll wird durch einen Startwert und Länge bestimmt. Dazu werden folgende Parameter übergeben.

Im ersten Paramter wird der komplette String übergeben. Im zweiten dann der Startwert, d.h. wo die Rückgabe des Teilstrings beginnen soll. Und mit dem dritten Parameter schließlich die Länge, d.h. wieviel Zeichen ausgehend vom Startwert ausgehend genommen werden. Da Startwert und Länge auch negative Werte erlauben, kann diese Funktion ein wenig tricky sein. Aber am besten schaut man sich einfach mein Beispiel an, ich komm da selber auch oft noch durcheinander. Schreibt einfach einen Kommentar, wenn ihr irgenwo Probleme habt.

echo substr("abcdef", 1);    // gibt "bcdef" zurück
echo substr("abcdef", 2);    // gibt "cdef" zurück
echo substr("abcdef", 3, 2); // gibt "de" zurück

echo substr("abcdef", -1);    // gibt "f" zurück
echo substr("abcdef", -2);    // gibt "ef" zurück
echo substr("abcdef", -3, 1); // gibt "d" zurück

echo substr("abcdef", 0, -1);  // gibt "abcde" zurück
echo substr("abcdef", 2, -1);  // gibt "cde" zurück
echo substr("abcdef", 4, -4);  // gibt "" zurück
echo substr("abcdef", -3, -1); // gibt "de" zurück

Hierbei bitte noch beachten, dass der String mit der Position 0 anfängt. Wenn man also einen Startwert von 0 eingibt, ist das ‘a’ gemeint, bei 1 ‘b’, bei 2 ‘c’ usw. Bei einem negativen Startwert wird der Startwert einfach vom Ende des Strings aus berechnet, bei negativer Länge geht der “Zeiger” nach links und nicht nach rechts. Wird keine Länge angegeben, wird alles vom Startwert ausgehend ausgegeben. Liest sich komplizierter als in der Praxis ist ;)

Ein Kommentar

  1. PHP String Funktionen Teil 3.2: Verändern von Strings - Web:Manual sagt:
    26. Mai 2008 um 22:14

    [...] dem Teilen von Strings in Teil 3.1 kommen wir nun zu Funktionen, mit denen man Strings verändern [...]

    • Letzte Artikel
    • Kategorien
    • Archive
    Letzte Artikel
    • PHP: Datei öffnen und auslesen mit fopen
    • PHP: Aufrunden von Zahlen mit der Funktion ceil()
    • PHP: Runden von Zahlen mit der Funktion round()
    • PHP: Eine Variable herunterzählen bzw um 1 vermindern
    • PHP: Eine Variable hochzählen bzw um 1 erhöhen
    Kategorien
    • AJAX (2)
    • Blogging (6)
    • HTML & CSS (1)
    • Link-Tipps (1)
    • PHP (17)
    Archives
    • April 2010 (1)
    • März 2010 (7)
    • Februar 2010 (12)
    • Juni 2008 (2)
    • Mai 2008 (3)
    • April 2008 (1)
  • Meine Wordpress Themes



    Ich biete professionelle, deutschsprachige Wordpress Themes - und das zum günstigen Preis von 29 €.

    Features sind unter anderem ein Theme Option Panel, benutzerdefiniertes Logo, verschiedene Farbschemen, Content Slider und eigene Widgets (Twitter, Banner Ads, Tabs).

    Natürlich unterstützen alle Themes die aktuelle Wordpress Version und deren Funktion wie die neuen Navigationmenüs, Widgetized Sidebars, Post Thumbnails und Threaded Comments.

    Weitere Informationen und Demos der Themes gibt es unter ThemeZee.com

  • Latest Tweets

    by ThemeZee.com

  • Blog abonnieren

    Abonniere jetzt Web:Manual per RSS Feed und bleibe über neue, interessante Artikel informiert.


  • Tag Cloud

    addieren AJAX bar blogs cms css differenz dividieren domain einsteiger farben functions funktion hex html katalog manual mathematik multiplizieren News objektorientiert oop operator PHP rating rechnen runden Scripts SEO stars string strings subtrahieren summe tes tools tutorial variable variablen verzeichnis verzweigung web-manual website xhtml zahlen
Web:Manual Magazin | © 2010
powered by