php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.07.2008, 19:30  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 7
Kurby befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] String mit mehreren Leerzeichen in Array wandeln

Hi!

Ich habe einen String mit mehreren Leerzeichen.

Beispiel:

"AAAAA BBBBB FFFF KKKKKKK"

Nun möchte ich die einzelnen Elemente des Satzes bearbeiten. Dazu wäre es gut, wenn ich den Satz in ein Array packen könnte, mit dem ich per Index jedes Element aufraufen kann, allerdings ohne die Leerzeichen. Die sollen komplett gelöscht werden.

Vielen Dank für kommende Hilfe!

Michael
Kurby ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.07.2008, 19:40  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Suchst du eventuell explode?
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 19.07.2008, 19:43  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 7
Kurby befindet sich auf einem aufstrebenden Ast
Standard

Jein,
denn explode benötigt einen speziellen Trenner wie ";" oder ",".
Auch funktioniert als Trenner " ".
Mein Satz hat als Trenner allerdings mehrere Leerzeichen, die Anzahl der Leerzeichen ist verschieden. Deswegen wird man mit explode() nicht weit kommen.
Kurby ist offline  
Alt 19.07.2008, 19:48  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Kurby Beitrag anzeigen
Mein Satz hat als Trenner allerdings mehrere Leerzeichen, die Anzahl der Leerzeichen ist verschieden. Deswegen wird man mit explode() nicht weit kommen.
Wenn du dir den Manual-Eintrag zu explode anschaust, findest du dort auch einen Hinweis auf preg_split. Damit kannst du anhand eines regulären Ausdrucks aufteilen....

Aber vielleicht sagst du uns auch was du wirklich vorhast, wer weiß ob es dann nicht plötzlich ganz andere Lösungen gibt
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 19.07.2008, 19:55  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 7
Kurby befindet sich auf einem aufstrebenden Ast
Standard

Das könnte mich schon näher an die Lösung heranführen.

Ich habe eine txt-Datei mit mehrere hundert Zeilen.
Jede zeile mit mir vier Informationen. Diese vier Infos sind jewils durch mehrere Leerzeichen getrennt, sodass optisch vier Spalten entstehen. Da jede Zeile andere aber ähnliche Längen haben, gibt es verschiedene Anzahl von Leerstellen zwischen den Infos.

Nun entwickle ich ein Skript, welches mir die Datei zeilenweise ausliest, und nur die Werte einer Zeile in eine Tabelle einer DB schreibt (Ohne Leerzeichen).

Ich hoffe, das es da einen Weg gibt.
Kurby ist offline  
Alt 19.07.2008, 20:30  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Du kannst es doch trotzdem mit explode() machen. Erst aufteilen und dann die leeren Elemente, die entstehen wenn du mehrere Leerzeichen hintereinander hast, löschen.

PHP-Code:
<?php
$string 
'1111   2222    3 4444 555    666';
$result explode(' '$string);
foreach (
$result as $key => $value) if (empty($value)) unset($result[$key]);

// in $result sind jetzt alle Werte einzeln wie du sie möchtest
Flor1an ist offline  
Alt 20.07.2008, 09:40  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 7
Kurby befindet sich auf einem aufstrebenden Ast
Standard

Hi Florian,
Die Funktion löscht zwar die Leerzeichen, behält allerdings einen Array mit leeren Wert bei. Heißt also, bei dir wäre folgende Ausgabe:

PHP-Code:
<?php
print("$result[0]<br>");
print(
"$result[1]<br>");
print(
"$result[2]<br>");
print(
"$result[3]<br>");
print(
"$result[4]<br>");
Ausgabe:

1111


2222


Gruß
Michael
Kurby ist offline  
Alt 20.07.2008, 10:08  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Kurby Beitrag anzeigen
Das könnte mich schon näher an die Lösung heranführen.
preg_split kann dich nicht nur näher an die Lösung heranführen sondern ist eine mögliche Lösung

Zitat:
Ich habe eine txt-Datei mit mehrere hundert Zeilen.
Jede zeile mit mir vier Informationen. Diese vier Infos sind jewils durch mehrere Leerzeichen getrennt, sodass optisch vier Spalten entstehen. Da jede Zeile andere aber ähnliche Längen haben, gibt es verschiedene Anzahl von Leerstellen zwischen den Infos.
Ja, das lässt sich doch wunderbar mit preg_split machen. Das erste Beispiel im Manual ist doch schon fast was du suchst...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 20.07.2008, 10:33  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 7
Kurby befindet sich auf einem aufstrebenden Ast
Standard

Hi!

Stimmt, danke. Da war ich gestern wohl etwas kurzsichtig.
Das wird die Lösung sein

Gruß Michael
Kurby ist offline  
Alt 20.07.2008, 10:44  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Kurby Beitrag anzeigen
Hi Florian,
Die Funktion löscht zwar die Leerzeichen, behält allerdings einen Array mit leeren Wert bei. Heißt also, bei dir wäre folgende Ausgabe:

PHP-Code:
<?php
print("$result[0]<br>");
print(
"$result[1]<br>");
print(
"$result[2]<br>");
print(
"$result[3]<br>");
print(
"$result[4]<br>");
Ausgabe:

1111


2222


Gruß
Michael
Hast du diese Ausgabe schon mal mit var_dump angesehen? Die Lösung von Florian funktioniert einwandfrei, aber vielleicht hast du sein Beispiel nicht verstanden. Wenn du vor deiner Ausgabe auch noch ein error_reporting setzt weißt du was schief-gelaufen ist...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
[Erledigt] stdClassObjekt nach String durchsuchen TAZweb PHP Tipps 2008 6 21.07.2008 08:38
[Erledigt] Durch Elemente in Array &quot;durchklicken&quot; horstenpeter PHP Tipps 2008 14 14.07.2008 16:17
[Erledigt] Hat ein Array einen Wert? silver_surfer PHP Tipps 2008 6 22.06.2008 12:20
php schreibt kein array ins array sondern string fragnicht PHP Tipps 2008 10 19.06.2008 15:03
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Assoziatives Array mit String initialisieren PHP Tipps 2006 10 17.01.2006 14:01
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
[Erledigt] string in array wird immer bei leerzeichen abgeschnitten?? PHP Tipps 2004 5 12.07.2004 16:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php explode mehrere leerzeichen, php explode leerzeichen, string array leerzeichen, leerzeichen in array, php sstring leerzeichen array, php leerzeichen in array key, php string leerzeichen array, http://www.php.de/php-tipps-2008/2155-erledigt-string-mit-mehreren-leerzeichen-array-wandeln.html, leerzeichen im array, array bei leerzeichen explode, explode mehrere leerzeichen, php explode unterschiedlich viele lehrzeichen, php array keys leerzeichen, php leerzeichen in array, string mit leerzeichen in array, mehrere leerzeichen als trenner, mit leerzeichen getrennte zeichenkette in array php, mehrere leerzeichen php array, php split mehrere leerzeichen, php array leerzeichen als key

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:05 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum