string splitten--banales problem?

therealcharlie

Erfahrenes Mitglied
Also gut, ich hab einen String, der wie folgt aussieht:
PHP:
$var = Österreich(2000);
nun möchte ich das ding splitten, und zwar einmal in Österreich, und einmal in 2000, also dann sollten 2 Variablen da sein.
das Problem ist allerdings, dass Der Ländername aber auch die Zahl von der Länge her variiert. Ich habs bis jetzt vollbracht, nur das Land auszugeben, mit strtok.

wäre dankbar für eure Hilfe
 
PHP:
$str = "Österreich(2000)";
$str2 = explode("(", $str);

// 1. Idee:
$land = $str2['0'];
$zahl = substr($str2['1'], 0, -1);

// 2.Idee:
$land = $str2['0'];
$anfang = strpos($str, "(");
$ende = strpos($str, ")");
$zahl = substr($str, $anfang, $ende);
 
Zuletzt bearbeitet:
Danke. Hab die 1.Idee verwendet und es funktioniert. Auch, wenn ich nicht weiß, was du gemacht hast...
Trotzdem danke!
 
Er hat deinen String an der Stelle des "(" geteilt, so dass $str2[0] alles vor dem "(" beinhaltet und $str2[1] alles danach.
Mit Substr wird dann noch die hintere Klammer abgeschnitten. :)
 
Wenn man etwas nicht versteht - hier kann man ja eigentlich nur die Funktion nicht verstehen.- sollte man auf http://www.php.net gehen und dort die Suchfunktion benutzen ,eine bessere Erklärung solltest du nicht finden ,wenn schon sage mir bitte Bescheid.
 
danke, ist schon alles klar. Und es funkt sooo schön... was anderes:
In einem inout-feld werden keine Leerzeichen übernommen. woran leigt das, bzw wie kann man das verhindern?
 
Was ist bitte ein inout-Feld? Solltest du meinen, dass du einen String mit mehreren Leerzeichen nacheinander in HTML ausgibst und dieses die Leerzeichen nicht korrekt darstellt, dann nimm ein str_replace() und ersetze alle " " mit " "
 
wenns um reines HTML gibt würde sich ein Ersetzen von " " in   eher anbieten.
Aber in einem nornamel input Feld o.ä. machen " " eigentlich keine Probleme
oder wo liegt dein Problem genau?

PHP:
<input type="text" value="...     ...">

das gibt im Input-Feld zwischen den Punkten genau 5 Leerzeichen aus...
 
Zurück