Forum
Tipps
News
Menu-Icon

[PHP] \n in <br> umwandeln

Hallo,
ich habe ein Formular mit einer Textarea, mittels GET übermittle ich den Inhalt der Textarea an eine Datei eintrag.php. Die Datei eintrag.php soll dann den Inhalt in eine Zeile schreiben, an der Stelle der Zeilenumbrüche soll dan ein <br> erscheinen.
So nun zu meinem Problem:
Ich behanlde den Inhalt der Textdatei wie folgt:

$text=str_replace('#+#','',strip_tags(trim($_GET['text'])))
Dann möchte ich die Zeilenumbrüche(/n) wie folgt ersetzen:
$t1 = chr(10);
$t2 = chr(13);
$text = str_replace($t1,'<br>',$text);
$text = str_replace($t2,'<br>',$text);

Nur ersetzt er sie leider nicht. Woran könnte es liegen? Meine PHP-Version ist 5.05
PS: Ich hab es auch schon mit nl2br() probiert, ging auch nicht.

Antworten zu [PHP] \n in <br> umwandeln:

Versuch mal die Übermittlung mit POST ;)

Hatte ich schon probiert mit POST genau das gleiche wie mit GET, ich kann dir ja mal zeigen wies aussieht:

Zitat
HAHA#+#20.01.07#+#no
use

und so möchte ichs haben

Zitat
HAHA#+#20.01.07#+#no<br>use

Sag mal reden wir eigentlich immer noch von dem Problem hier?
http://www.computerhilfen.de/hilfen/index.php/topic,139814.15.html

Weil dann müssten wir nicht unbedingt wieder bei Null beginnen.

Ja, aber deine Lösung hat auch nicht funktioniert ;) und da 
dachte ich mir, dass vlt noch jemand anders eine Idee hat.

Poste doch mal dein aktuelle Skript, aber vollständig bitte.

Formular:

<html>
<table width="473" bgcolor="
<?php echo $formular_bg_color; ?>
" style="background-color:
<?php echo $formular_bg_color; ?>
;border:<? echo $formular_border; ?>;color:
<?php echo $formular_text; ?>
;font-weight:bold;">
<!--DWLayoutTable-->
<form action="auswertung.php" method="POST">
<tr>
<td width="52" height="24">Titel: </td>
<td width="405" valign="top"><input name="titel" type="text" style="width:405px;"></td>
</tr>

<tr>
<td height="252">Inhalt: </td>
<td valign="top"><textarea name="text" style="width:405px;height:250px;"></textarea></td>
</tr>
<tr>
<td height="26" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td align="center" valign="top"><input type="submit" name="submit" value="Abschicken">      <input type="reset" value="Neu" /></td>
</tr>
</form>
</table>
</html>
Auswertung
<?phpinclude("../class/txtVer.php");	include("../foo/foo.php");	$file ="datei.txt";	$titel = $_POST[&#39;titel&#39;];	$text = str_replace(&#39;#+#&#39;,&#39;&#39;,strip_tags(trim($_POST[&#39;text&#39;])));	//	if(empty($titel)) { echo "<li>Bitte Titel eingeben</li>"; }	if(empty($text)) { echo "<li>Bitte Text eingeben</li>";}	if(empty($text) OR empty($titel)) { echo "<a href=&#39;javascript:history.back()&#39;>zur&uuml;ck</a> "; }  else  {	//Inhalt formatieren	$msg = 	$titel . "#+#" . date("d.m.y") . "#+#" . $text . "\n";	// replacements  define ("CRLF",chr(13).chr(10));  define ("CR",chr(13));  define ("LF",chr(10));  define ("RET",&#39;<br>&#39;);  $text = str_replace(CRLF,RET,$text);  // kommt vom Windows-Client  $text = str_replace(CR,RET,$text);    // kommt vom MAC-Client  $text = str_replace(LF,RET,$text);    // kommt vom Unix-Client    	//Eintrag vornehmen	$content = file_get_contents($file);	$entry = new txtVer($file,&#39;a+&#39;);	$entry->write($msg);	unset($entry);	  //Auslesen  $read = new txtVer($file,&#39;r&#39;);  $array =$read->setArray();  foreach($array as $zeile)  {    $var = explode(&#39;#+#&#39;,$zeile);    $table = new Table(600,20,&#39;#FFFFFF&#39;);    $table->openTR();    $table->createTD($var[0]." geschrieben am ".$var[1],500,20,&#39;#AAAAAA&#39;);    $table->closeTR();    $table->createTD($var[2],500,20,&#39;#333333&#39;);    unset($table);  }  unset($read);  }?>

<a href='javascript:history.back()'>zur&uuml;ck</a>
?>
Klassen
<?php{  PROTECTED $datei;  PROTECTED $modus;  PROTECTED STATIC $fp;   PUBLIC function __construct($datei,$modus)    {    $this->datei = $datei;    $this->modus = $modus;    self::$fp = fopen($this->datei,$this->modus = $modus);   }   PUBLIC function __destruct()   {   $this->modus ;   $this->datei ;   self::$fp ;   }   PUBLIC function read()   {    $content = fread(self::$fp,filesize($this->datei));    return $content;   }   PUBLIC function write($content)   {    fputs(self::$fp,$content);   }   PUBLIC function gets()   {     while (!feof(self::$fp))     {        $buffer = fgets(self::$fp,filesize($this->datei));        echo $buffer;    }   }   PUBLIC function setArray()   {   $var = file($this->datei);   return $var;   }}?>

<?phpclass Table{  PUBLIC function __construct($width,$heihgt,$bgcolor)  {    echo "<table width=&#39;".$width."&#39;height=&#39;".$height."&#39; bgcolor=&#39;".$bgcolor."&#39;>";  }  PUBLIC function __destruct()  {    echo "</table>";  }  PUBLIC function openTR()  {    echo "<tr>";  }  PUBLIC function closeTR()  {    echo "</tr>";      }  PUBLIC function createTD($content,$width,$heihgt,$bgcolor)  {  echo "<td width=&#39;".$width."&#39;height=&#39;".$height."&#39; bgcolor=&#39;".$bgcolor."&#39;>".$content."</td>";  }}?>


Ich weiß die Klassen sind eigentlich unnötig, da ich aber noch mehr solcher Sachen machen möchte(Newssystem Kommentare etc, erspart es mir etwas schreibarbeit)

Ich habs, wenn man die Var für den Inhalt fertig macht, bevor man die Zeilenumbrüche in <br>s verändert ist es kein Wunder, wenns nicht funktioniert.

Und jetzt sag mir doch bitte abschließend noch, was da jetzt an MEINEM Skript falsch war, denn das hast du ja mehrfach felsenfest behauptet  :-\

Hab ich doch schon geschrieben. Ich hab die Variable für den Eintrag ($msg) erstellt und danach erst in $text die \n in <br> umgewandelt, konnte also nicht funktionieren.

Ich wusste doch, dass es was banales war :)

Ich konstatiere: DEIN Skript war fehlerhaft! Ergo solltest du etwas langsamer treten mit Behauptungen, dass andere irgendwelche fehlerhaften Lösungen liefern  >:(

JoSsiF

Entschuldigung, wenn ich frage wo der Fehler liegt und du mir diese Lösung vorschlägst ist deine Lösung nunmal eben falsch.

Herr Kollege, ich möchte nicht unhöflich erscheinen, aber ich glaube du verwechselst da ganz gewaltig etwas!  >:(

Im ersten Thread dazu hatte ich bereits geschrieben, dass du die Lösung auf deinen Fall anpassen, also ggf. ein paar Variablennamen usw. ändern musst. Wenn du das nicht schaffst - sei es aus Mangel an Befähigung oder Bequemlichkeit - dann liegt das nicht an meiner Lösung.

Tut mir sehr leid, wenn ich dir das Skript nicht haargenau angepasst auf einem silbernen Tablett serviert habe. Jetzt sind wir schon so weit, dass sich der Helfer für eine funktionierende Lösung rechtfertigen muss... vekehrte Welt  ::)

Ich hab doch nicht behauptet, dass das Codeschnipsel falsch war, ich behaupte nur, dass es nicht die Lösung für mein Problem war und manchmal kommt es halt vor, dass man die kleine Probleme vor lauter Bäumen nicht sieht, also hab ichs mal wieder versucht und dieses mal hat es geklapt, auch wenn ich es im Endeffekt mit RegEx gelöst hab :P
Tut mir leid , wenn du dich dadurch bleidigt gefühlt hast.


« Grafik im IE und MF unterschiedlich ...H o m e p a g e selber machen »
 

Fremdwörter? Erklärungen im Lexikon!
Gadget
Befehlsknopf in der Menüsteuerung eines Amiga-Computers. Desweiteren bezeichnet man auch technische Werkzeuge oder Geräte mit bisher so nicht bekannter Funktio...

Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...



Screenshot von ganzer Webseite machen – mit nur 3 Klicks!
Edge Browser: Google als Startseite (oder andere Webseiten!)