Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 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

Artfiles.de
Bietet Serviceorientierte...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains...
https://www.Hosterplus.de
 
 
 

String in ein Array umwandeln mit explode() und preg_split()

Sie befinden sich: Home > Php Tutorial > String in ein Array...

String in ein Array umwandeln mit explode() und preg_split()


Eintrag am:  13.11.2009
Hits / Besucher:  6609
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Die Funktion split() wurde in PHP 5.3 als veraltet markiert und in PHP 7.0 komplett entfernt. Dieses Tutorial zeigt die modernen Alternativen explode() und preg_split(), mit denen Sie einen String in ein Array umwandeln können.

1. explode() – String mit festem Trennzeichen aufteilen

Für einfache Trennzeichen (Komma, Semikolon, Leerzeichen etc.) ist explode() die richtige Wahl:

<?php

$namen = "Anna,Ben,Clara,David";
$array = explode(",", $namen);

print_r($array);
/* Ausgabe:
Array (
[0] => Anna
[1] => Ben
[2] => Clara
[3] => David
)
*/
?>

explode() mit Limit-Parameter

Der optionale dritte Parameter begrenzt die Anzahl der Array-Elemente:

<?php

$text = "Eins-Zwei-Drei-Vier-Fünf";

/* Maximal 3 Elemente: Rest bleibt im letzten Element */
$result = explode("-", $text, 3);
print_r($result);
/* Array (
[0] => Eins
[1] => Zwei
[2] => Drei-Vier-Fünf
) */

/* Negativer Limit: Letzte N Elemente weglassen */
$result = explode("-", $text, -2);
print_r($result);
/* Array (
[0] => Eins
[1] => Zwei
[2] => Drei
) */
?>

2. preg_split() – String mit Regex-Muster aufteilen

Wenn Sie mehrere verschiedene Trennzeichen oder ein Muster benötigen, verwenden Sie preg_split():

<?php

$string = "Ich-bin.Der_dieser+mit=einem";

/* Alles was kein Buchstabe ist als Trenner */
$arr = preg_split("/[^a-zA-ZäöüÄÖÜß]+/", $string);
print_r($arr);
/* Array (
[0] => Ich
[1] => bin
[2] => Der
[3] => dieser
[4] => mit
[5] => einem
) */
?>

Praktisches Beispiel: CSV-Zeile mit mehreren Trennzeichen

<?php

$csv = "Name,Alter;Stadt,Land;Beruf";

/* Komma und Semikolon als Trennzeichen */
$felder = preg_split("/[,;]/", $csv);
print_r($felder);
/* Array (
[0] => Name
[1] => Alter
[2] => Stadt
[3] => Land
[4] => Beruf
) */
?>

Leerzeilen und leere Elemente filtern

<?php

$text = "Wort1 Wort2 Wort3";

/* PREG_SPLIT_NO_EMPTY entfernt leere Elemente */
$woerter = preg_split("/s+/", $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($woerter);
/* Array (
[0] => Wort1
[1] => Wort2
[2] => Wort3
) */
?>

3. str_split() – String in gleich lange Teile

Um einen String in Teile mit fester Länge aufzuteilen (ohne Trennzeichen), verwenden Sie str_split():

<?php

$code = "ABCDEFGHIJ";
$teile = str_split($code, 3);
print_r($teile);
/* Array (
[0] => ABC
[1] => DEF
[2] => GHI
[3] => J
) */
?>

Welche Funktion wann verwenden?

FunktionAnwendungsfallBeispiel
explode()Festes TrennzeichenCSV, kommagetrennte Listen
preg_split()Regex-Muster als TrennerMehrere Trennzeichen, Whitespace
str_split()Feste ZeichenlängeBlockweise Verarbeitung
mb_str_split()Feste Länge (UTF-8)Multibyte-Strings

Migration von split() zu modernen Funktionen

Falls Sie alten Code mit split() pflegen, hier die Umstellung:

<?php

/* ALT (funktioniert nicht mehr seit PHP 7.0): */
/* $arr = split("[,;]", $string); */

/* NEU mit preg_split() (Regex-Delimiter hinzufügen): */
$arr = preg_split("/[,;]/", $string);

/* ALT: */
/* $arr = split(",", $string); */

/* NEU mit explode() (wenn kein Regex nötig): */
$arr = explode(",", $string);
?>

Faustregel: Verwenden Sie explode() wenn möglich – es ist schneller als preg_split(), da kein regulärer Ausdruck ausgewertet werden muss.

 

Tags:

 

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.