Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

[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:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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
<?php
include("../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;
   }


}
?>

<?php
class 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.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 :)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

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...