Problem mit exoplde (schneidet nicht richtig) ?!

BenoX

Erfahrenes Mitglied
Problem mit explode (schneidet nicht richtig) ?!

Hi, hab mir folgende funktion gebastelt:

PHP:
                      if(isset($_POST['anzeigen'])) {
                                $array = explode(" ",$_POST['text']);
                                for($i = 0; $i < count($array); $i++) {
                                       echo $array[$i]."<br>";
                                }
                      }

der text der in eine textarea eingefügt wird sieht z.b. so aus:

105011 Transport ( 80 Droiden ) 06:27 06-11-2004 mehr info (/edit2 arg wird nich angezeigt, sind zwischen 105011 und Transport ( 80 Droiden ) mehr Leerzeichen!)

alles schön und gut nur wenn ich die funktion ausführe gibt er mir das hier aus:

105011 Transport
(
80
Droiden
) 06:27
06-11-2004 mehr
info


wieso trennt er nicht z.b. auch 105011 Transport da ist doch auch nen Leerzeichen zwischen?!

/edit so habs rausgefunden warum er das nicht zerschneidet. Der text der eigentlich in die Textarea kopiert wird sieht ungefähr so aus:

105011 Transport ( 80 Droiden ) 06:27 06-11-2004 mehr info

nur wie umgeh ich das? das er sagen wir mal für 105011 Transport ( 80 Droiden ) => 105011 Transport ..... einsetzt?
 
Zuletzt bearbeitet:
hab jetzt mal was versucht:

PHP:
echo str_replace(" ","_",$_POST['text']);

und bei so nem text kommt dann:

105821 Rückkehr_(_1_Droiden_) 02:46_06-11-2004 mehr_info


jetzt bin ich ganz baff was liegt denn dan zwischen 105821 und Rückkehr ? :confused:
 
tatsächlich :O vielen vielen dank :)

nur was ist nun genau \s+ ? hat auch die leerzeichen mitgenommen?

bzw. wieso gehts mit preg_split und mit explode net ?!
 
Zuletzt bearbeitet:
\s+ ist der reguläre Ausdruck für mehrere aufeinanderfolgende Whitespaces(Leerzeichen, Tabulatoren, Zeilenumbrüche).

Warum gehts mit preg_split()? Weil man da im Gegensatz zu explode() reguläre Ausdrücke verwendet..., und keine Zeichen(ketten)
 
Zurück