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

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

Zeichenkette zerlegen mit explode und in ein Array speichern

Sie befinden sich: Home > Php Tutorial > Zeichenkette zerlegen mit...

Zeichenkette zerlegen mit explode und in ein Array speichern


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

Die Funktion explode() zerlegt einen String anhand eines Trennzeichens und gibt die einzelnen Teile als Array zurück. Sie ist die Standardlösung in PHP, wenn ein Text an einer bestimmten Stelle aufgeteilt werden soll, etwa bei CSV-Daten, URL-Parametern oder konfigurierbaren Listen.

Grundlegende Verwendung

explode() erwartet zwei Parameter: das Trennzeichen und den zu zerlegenden String.

<?php

$csv = 'Name;Vorname;Stadt';
$teile = explode(';', $csv);

print_r($teile);
/* Ausgabe:
Array (
[0] => Name
[1] => Vorname
[2] => Stadt
) */
?>

Das Trennzeichen selbst taucht nicht im Ergebnis auf. Es dient nur als Markierung, an welcher Stelle der String geteilt wird.

Anzahl der Teile begrenzen mit Limit

Der optionale dritte Parameter begrenzt die Anzahl der zurückgegebenen Elemente. Der letzte Eintrag enthält dann den gesamten Rest des Strings:

<?php

$log = '2024-03-15|ERROR|Datei nicht gefunden|Pfad: /tmp/test.txt';

$teile = explode('|', $log, 3);

echo $teile[0]; // 2024-03-15
echo $teile[1]; // ERROR
echo $teile[2]; // Datei nicht gefunden|Pfad: /tmp/test.txt
?>

Durch das Limit 3 werden nur die ersten zwei Trennzeichen ausgewertet. Alles nach dem zweiten Trennzeichen landet im dritten Element, inklusive weiterer Trennzeichen.

Praxisbeispiel: Tags aus einer Eingabe lesen

Ein typischer Anwendungsfall ist das Zerlegen von Benutzereingaben, zum Beispiel kommagetrennte Tags:

<?php

$eingabe = 'PHP, MySQL, HTML, CSS';

$tags = explode(',', $eingabe);

/* Leerzeichen an den Rändern entfernen */
$tags = array_map('trim', $tags);

print_r($tags);
/* Ausgabe:
Array (
[0] => PHP
[1] => MySQL
[2] => HTML
[3] => CSS
) */
?>

Der zusätzliche array_map('trim', ...) Aufruf entfernt Leerzeichen, die Benutzer nach dem Komma eingeben. Ohne diesen Schritt würde das Array Einträge wie ' MySQL' mit führendem Leerzeichen enthalten.

preg_split() für komplexe Trennmuster

Wenn der String nicht an einem festen Zeichen, sondern an einem Muster zerlegt werden soll, kommt preg_split() zum Einsatz. Diese Funktion akzeptiert reguläre Ausdrücke als Trennzeichen:

<?php

$text = 'Eins Zwei Drei Vier';

/* An einem oder mehreren Leerzeichen trennen */
$woerter = preg_split('/\s+/', $text);

print_r($woerter);
/* Ausgabe:
Array (
[0] => Eins
[1] => Zwei
[2] => Drei
[3] => Vier
) */
?>

Der Ausdruck /\s+/ trifft auf ein oder mehrere Leerzeichen, Tabs oder Zeilenumbrüche. So entstehen keine leeren Elemente im Array, auch wenn zwischen den Wörtern unterschiedlich viele Leerzeichen stehen.

Gegenstück: implode()

Die Funktion implode() macht das Gegenteil von explode(): Sie fügt die Elemente eines Arrays mit einem Verbindungszeichen zu einem String zusammen.

<?php

$teile = ['Berlin', 'Hamburg', 'München'];

echo implode(', ', $teile);
/* Ausgabe: Berlin, Hamburg, München */
?>

explode() und implode() bilden ein Paar und werden häufig zusammen verwendet, etwa wenn Daten für die Speicherung aufbereitet und später wieder eingelesen werden müssen.

 

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.