str_replace() auch für Zeilenumbrüche?
thorsten
- php
0 Transmitter0 Tom0 Thomas Meinike
hallo zusammen!
mit str_replace("\n","",$content);
versuche ich im String $content alle zeilenumbrüche zu entfernen. klappt aber nicht, wieso?
thorsten
mit str_replace("\n","",$content);
versuche ich im String $content alle zeilenumbrüche zu entfernen. klappt aber nicht, wieso?
Wo kommen denn die Zeilenumbrüche her?
\n ist nicht die einzige codierung dafür.
Probier mal damit:
str_replace("/\r?\n|\r/","", $buffer);
( ungetestet )
Wo kommen denn die Zeilenumbrüche her?
der string enthällt text der aus einer datenbankstammt. dieser wurde über einen ifram der im designmode ist eingetippt. (der inhlat des iframes lässt sich durch designmode verändern, schätze mal kannste mit textarea aus htmlformular vergleichen)»»
Probier mal damit:
str_replace("/\r?\n|\r/","", $buffer);
funzt nicht!
thorsten
str_replace("\r\n","", $buffer);
das funzt! thx!!!
also eins noch:
wollte " in " und ' in ' \ in \ etc. umwandeln. allerdings nicht mit str_replace() gibt doch sone funktion die alle relervanten zeichen mit einem backslash voran austausch.. wie heißt diese??
vielen dank für erue hilfe!
Moin thorsten,
wollte " in " und ' in ' \ in \ etc. umwandeln. allerdings nicht mit str_replace() gibt doch sone funktion die alle relervanten
zeichen mit einem backslash voran austausch.. wie heißt diese??
hilft vielleicht das. http://de3.php.net/manual/de/function.stripcslashes.php
Grüsse
Mike
Moin thorsten,
Probier mal damit:
str_replace("/\r?\n|\r/","", $buffer);
( ungetestet )
was Transmitter damit sagen wollte, es kommt darauf an, unter welchem OS der Server läuft, bzw in welchem Format die Datei erstellt wurde.
Für Unix/Linux reicht durchaus replace \n
aber für Windoof DOS Format brauchst Du:
$buffer=str_replace("\r\n","", $buffer);
Unix/Linux macht nur (CR) aber Windoof(DOS) macht (CR & LF)
Grüsse
Mike
Hello,
mit str_replace("\n","",$content);
Wenn, dann musst Du alle drei Möglichkeiten austauschen:
$_linebreaks = array("\r\n","\r","\n");
str_replace($_linebreaks,"",$content);
http://de3.php.net/manual/en/function.str-replace.php
Die meisten Clients ergänzen die Zeilenumbrüche immer wieder zu "\r\n", auch wenn sie auf einem MAC oder einer Linux-Plattform laufen. Die auf WinDOSen tun es auf jeden Fall.
Wenn da also ein einzelnes "\r" rumgesitert, und Du jagst den Text durch eine Textarea (zur Editierung) ist hinterher der vollständige Linebreak "\r\n" wieder da.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
mit str_replace("\n","",$content);
versuche ich im String $content alle zeilenumbrüche zu entfernen. klappt aber nicht, wieso?
Als Ergaenzung zu den anderen Antworten:
rtrim() [bzw. der Alias chop()] bietet sich an. Es werden ohne zweiten Parameter vor allem Leerzeichen, \n, \r, \t am Stringende entfernt.
MfG, Thomas