ereg_replace("\n","<br>",$variable) == "\n<br>"
asdf (Robert)
- php
Hallo!
Ich habe nun
ereg_replace("\n","<br>",$variable)
seite mehr als einem Jahr schon ausprobiert und irgendwie ist mir wohl nie aufgefallen, dass dann aus dem \n ein Zeilenumbruch+<br> wird anstatt nur einem <br>.
Hier zum sehen:
http://ikt.bg9.at/~rchiryai/az/login.php
einfach etwas ein tippen und darüber wird dann der Text mit dem ersetzten \n angezeigt.
Hier der QuellCode (=kopiert):
<?php
import_request_variables('gp','url_');
echo ereg_replace("\n","<BR>",$url_name);
?>
<form action="login.php" method=post>
<textarea name="name"> </textarea>
<input type="submit">
</form>
Wenn man den Quelltext danach anschaut sieht man das vor jedem <br> ein ungewollter Zeilenumbruch steht. Der muss dringend weg.
Kennt jemand hierfür eine Lösung?
Danke schon mal!
MFG Robert
Hallo,
Kennt jemand hierfür eine Lösung?
http://at2.php.net/manual/en/function.nl2br.php
gruß,
Severin
Hallo,
danke Severin war alles was ich gebraucht habe.
Robert
Hallo Severin,
Kennt jemand hierfür eine Lösung?
http://at2.php.net/manual/en/function.nl2br.php
nicht wirklich - nl2br hängt an den Zeilenumbruch nur ein <br /> dran, ersetzt ihn aber nicht.
Grüße aus Nürnberg
Tobias
Hi,
http://at2.php.net/manual/en/function.nl2br.php
nicht wirklich - nl2br hängt an den Zeilenumbruch nur ein <br />
Wenn du weiterliest, wirst du sehen das erklärt wird, wie man das Problem löst.
tschau Robert
Hallo Robert,
ereg_replace("\n","<br>",$variable)
seite mehr als einem Jahr schon ausprobiert und irgendwie ist mir wohl nie aufgefallen, dass dann aus dem \n ein Zeilenumbruch+<br> wird anstatt nur einem <br>.
du ersetzt zwar \n durch <br> - Windows schickt aber ein \r\n als Zeilenumbruch, also bleibt das \r noch stehen was dann den Zeilenumbruch bewirkt. Wenn du also statt "\n" "\r\n" schreibst sollte es funktionieren - aber nur, wenn das Formular von einem Windowsrechner kommt - bei Unix und Mac funktioniert es dann nicht mehr.
Wenn man den Quelltext danach anschaut sieht man das vor jedem <br> ein ungewollter Zeilenumbruch steht. Der muss dringend weg.
ich weiß zwar nicht, warum der dringend weg muss, aber ich verwende immer die Variante von CK (auf http://at2.php.net/manual/en/function.nl2br.php#11057) und die hat bisher immer prächtig funktioniert (der Ausdruck wird afaik auch hier im Forum angewendet).
Grüße aus Nürnberg
Tobias
Hallo!
Wenn du also statt "\n" "\r\n" schreibst sollte es funktionieren
Habe ich gemacht,
Danke!
ich weiß zwar nicht, warum der dringend weg muss...
Der Grund ist:
Der Text der geschrieben wird eingetragen wird mit \r+<br> statt \r\n. Später wenn ich den Eintrag mit einem Formular, das den Eintrag schon enthält soll, verändern lassen will, werden alle \n mit <br> ersetzt, darausfolgt das dann im "VERÄNDEREFORMULAR" jetzt \r+<br> steht. Das heißt wenn ich dann speichere wird jeder Zelenumbruch zu zwei. Für mich wäre das ja kein Problem, damit zu recht zu kommen, aber meinem Freund der von HTML keine Ahnung hat, wird es schwer fallen.
MFG Robert
Hallo asdf (Robert),
warum postest du eigentlich nicht als 'Robert'?
Wenn du also statt "\n" "\r\n" schreibst sollte es funktionieren
Du solltest nicht "\r\n" schreiben. Benutzt du diesen Ausdruck auf
Windows-Systemen, kann uU "\015\015\012" daraus werden. Du solltest
lieber "\015\012" verwenden. Willst du plattformunabhaengig arbeiten,
benutze "\015\012|\012|\015".
Gruesse,
CK
Hallo Christian Kruse!
warum postest du eigentlich nicht als 'Robert'?
Ganz einfach weil mir aufgefallen ist, dass einge hier den selben Namen wie ich haben. Ich werde jetzt einmal: asdf (Robert) verwenden weil das die Leute hier nicht wirkllich erfreut wenn man einen Nicknamen verwendet obwohl das erlaubt ist: http://forum.de.selfhtml.org/faq/#Q-12
Willst du plattformunabhaengig arbeiten,
benutze "\015\012|\012|\015".
Das problem ist:
der Text bei dem "\015\012|\012|\015" mit <br /> ersetzt wurde, muss später wieder zurückersetzt werden. Dann kann ich kein | mehr verwenden. Ich verwende "\015\012", das scheint man als Standard zu akzeptieren.
Danke,
Tschau Robert
Hallo asdf (Robert),
Willst du plattformunabhaengig arbeiten,
benutze "\015\012|\012|\015".
Das problem ist:
der Text bei dem "\015\012|\012|\015" mit <br /> ersetzt wurde, muss
später wieder zurückersetzt werden.
Oehm. Ja. Und?
echo preg_replace('!<br />!',"\n",$text);
Dann kann ich kein | mehr verwenden. Ich verwende "\015\012", das
scheint man als Standard zu akzeptieren.
Wie meinst du das?
Gruesse,
CK
Hallo!
echo preg_replace('!<br />!',"\n",$text);
Wie meinst du das?
Ich probiere es mit einer Frage:
Ich liege wohl falsch wenn ich denke, ein \n koennte in einem Textarea bei einem andererm betriebssytem nicht funtionieren.
ein schönen Gruß Robert