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