phpbar.de logo

Mailinglisten-Archive

[php] String zerlegen

[php] String zerlegen

Andreas Demmer php at andreas-demmer.de
Fre Mai 7 22:28:35 CEST 2004


php-bounces at phpbar.de <mailto:php-bounces at phpbar.de> schrieb:

> Ich habe einen String in dieser Art vorliegen:

> 1 Hallo Welt Planet(oder auch Basis) Irgendein Name Rasse 218375

> Hier das ganze noch mal, allerdings mit ’ die die Zusammengehörigkeit
> der einzelnen Teile kennzeichnen sollen:
> 
> ’1’ ’Hallo Welt' 'Planet'(oder auch Basis) 'Irgendein Name' 'Rasse'

Hallo,

Lösung anbei. Aber eines kurz vorweg: Wenn man ein Browsergame schreiben
möchte und bereits an solchen Problemen scheitert, bzw. sich eine Daten-
struktur ausgedacht hat, in der die Daten in einem solchen String
vorliegen,
kommt man nicht weit. Es gibt einige Open Source Browsergames die recht
leicht
anzupassen sind. Vielleicht wäre das ein guter Start?

Gruss,
Andreas

<?php 
$string = '1 Hallo Welt Planet(oder auch Basis) Irgendein Name Rasse
218375';
$slices = array();

// erste Zahl extrahieren
$slices[0] = substr($string, 0, strpos($string, ' '));
$string = substr($string, strpos($string, ' '));

// letzte Zahl extrahieren
$slices[4] = substr($string, strrpos($string, ' ') + 1);
$string = substr($string, 0,  strrpos($string, ' '));

// Rasse extrahieren
$slices[3] = substr($string, strrpos($string, ' ') + 1);
$string = substr($string, 0,  strrpos($string, ' '));

// Namen extrahieren (funtioniert nur mit Vorname Nachname!)
$nachname = substr($string, strrpos($string, ' ') + 1);
$string = substr($string, 0,  strrpos($string, ' '));
$vorname = substr($string, strrpos($string, ' ') + 1);
$string = substr($string, 0,  strrpos($string, ' '));
$slices[2] = $vorname.' '.$nachname;

// Rest des Strings ist Hallo Welt
$slices[1] = trim($string);

ksort($slices);
reset($slices);
print_r($slices);
?>

-- 
http://www.midgetcms.de



php::bar PHP Wiki   -   Listenarchive