Leerzeichen


dreix

Grünschnabel
Leerzeichen

Ich habe einen Text mit Bundesländern

Beispiel: Bremen Mecklenburg-Vorpommern

Ich möchte die Bundesländer in ein Array explodieren.

Aber das Leerzeichen zwischen den BLs ist anscheinend kein Leerzeichen.

Ich habe es schon mit ' ','/n','/r','/t','<BR>','&nbsp;',' ','&thinsp;','&zwj;','&zwnj;','&emsp;','&ensp;' diesen Zeichen versucht. Aber keins reagiert auf

$zeile=explode(' ', 'Bremen Mecklenburg-Vorpommern');

Gibt es noch unsichtbare Zeichen die ich noch nicht durchgetestet habe?
Danke im Voraus
 

ComFreek

Mod | @comfreek
Moderator
'/n','/r','/t','<BR>','&nbsp;',' ','&thinsp;','&zwj;','&zwnj;','&emsp;','&ensp;'
Bei den ersten drei meintest du wahrscheinlich \n, \r und \t. Alle anderen sind übrigens so oder so keine unsichtbaren Zeichen in dem Kontext wie du sie verwendest. &nbsp; etwa wird nur in HTML-Kontexten (d.h. vorranging von Webbrowsern) als Non-breaking Space interpretiert. Wenn du es in PHP irgendeiner Funktion als String übergibst, bleibt es selbstverständlich erstmal &nbsp;. Die einzigen Zeichen, die PHP innerhalb von Strings (abgesehen von Variableninteprolation à la "Hello $user") interpretiert, sind genau \n, \r, \t usw.
 

dreix

Grünschnabel
Dank schon mal für die Hilfe. Der Ursprung ist eine HTML Tabelle aus einer Webseite.

Kopiere ich diese in den Editor, sehe ich Tabs und Absatzmarken.

Jetzt kopiere ich sie aber in ein Textfeld um sie an eine JavaScript Anwendung zu übergeben. Diese soll dann per PHP explode den Text in ein Array zerlegen. Das will ich dann wieder in eine Datenbank einlesen.


Eigentlich ganz einfach.

Alle Sonderzeichen habe ich per str_replace aus dem Text eliminiert.

Aber dieses „Leerzeichen“ (wenn es eines ist) kriege ich nicht zu packen.
 

Sempervivum

Erfahrenes Mitglied
Unternimm einen Versuch mit preg_split:
$zeile = preg_split('/\s+/', 'Bremen Mecklenburg-Vorpommern');