[PHP] Wie String zeilenweiße in array fuellen?

fi**en32

Lieutenant
Registriert
Mai 2007
Beiträge
967
hi leute,

hab da mal ein kleines Problem:

wie kann ich einen string zeilenweiße in ein array fuellen.
jedes array-elemant eine zeile des strings.

der string:
PHP:
$text = 'bla blub
dfhtfg

dsfgdf
gadfgadfg

fff';

ich habe es jetzt schon mit vielen möglichkiten versucht, von str_replace ueber nl2br und explode, allerdings war nicht das richtige dabei.

PHP:
$feld = explode('\n',$text); //\r
geht nicht, leider

oben bei dem beispiel sollten 7 arrayelemente entstehen, es kommt allerdings nur ein element mit dem gesammten text darin zustande

hier mal der gesamte minicode der nicht will:
PHP:
$text = 'test drgr
drg
dfg

dfthdfrs rhsrth srhsht

rdgdafg';

$feld = explode('\n',$text);
echo count($feld);

//4test
echo nl2br($feld[0]);


gesamtziel ist es den string so umzuwandeln:
(was dann mit implode ya kein problem mehr sein sollte)
PHP:
//original
$text = 'test drgr
drg
dfg

dfthdfrs rhsrth srhsht

rdgdafg';

//gewuenscht
$text = 'test drgr\ndrg\ndfg\n\ndfthdfrs rhsrth srhsht\n\nrdgdafg';
 
Zuletzt bearbeitet:
ganz hart einfach:

PHP:
$feld = explode("
",$text);

geht bestimmt auch besser...aber dafür ist es mir zu früh ;)

edit, ich seh jetzt erst, dass es dir eigentlich um die umwandlung der zeilenumbrüche geht...warum also so kompliziert?

PHP:
echo str_replace("
",'\n',$text);
 
Zuletzt bearbeitet:
no problem habsch doch gern gemacht...
 
@fi**en32: Die Escape-Zeichen werden ohne Magic Quotes (doppelte Anführungszeichen) nicht in die entsprechenden Ersetzungen umgewandelt. Mit $feld=explode("\n",$text); hätte es funktioniert...
 
$feld=explode("\n",$text); hab ich gemacht, ging nicht

aso nur einfache waren das problem meinste? test ich auch nochma
 
$text = 'bla blub
dfhtfg

dsfgdf
gadfgadfg

fff';
Hier stehen keine Umbrüche "drin", weil du es mit Singlequotes ' definiert hast. Hättest du DoubleQuotes " benutzt, wär dein Beispiel mit explode() gegangen. :D
 
@Adagio: Klar, sind da Umbrüche drin (sieht man doch). Welche Anführungszeichen man in diesem Fall nimmt, ist egal. Eine Escape-Ersetzung ist dort nicht nötig.
 
@Gobble: Stimmt, was red ich da ... ich glaub ich schlafe noch, wo ist mein Kaffee :D

$feld=explode("\n",$text); hab ich gemacht, ging nicht

aso nur einfache waren das problem meinste? test ich auch nochma
Na was denn nun - hast du es gemacht oder nicht? :D
 

Ähnliche Themen

Antworten
9
Aufrufe
1.325
claW.
C
Zurück
Oben