2016-12-08 4 views
0

Ich habe eine Datei data.txt, die aus einer Textarea in eine HTML-Seite mit PHP schreibt.PHP Convert Neue Zeile in Textarea zu <BR>

Ich möchte der Textbereich neue Zeilen als <br> Element lesen, so dass es nicht auf der gleichen Zeile ist, wenn ich eine neue Zeile erstellen.

Beispiel:

Hello 
Hello 

gleich

HelloHello 

aber ich will es

Hello 
Hello 

ich bereits versucht haben, gleich n2lbr Umsetzung, aber es ist schwer, mit meinem System zu implementieren, so Wenn Sie vorschlagen, dass zeigen Sie bitte wie.

SO hier ist mein Code:

HTML:

<form method="POST" action="process.php" onsubmit='return validate()' > 
    <textarea cols='60' rows='8' id="input1" type="text" name="myInputName" style="background:white;border:2px solid #dfdfdf;color:black;height:50px;"></textarea> 

    <input type="submit" name="submitButton" value="Post" style="width:60px;height:55px;background:white;color:black;border:2px solid #dfdfdf;" class="cbutton" /> 
    </form> 

    <form method="POST" action="clear.php"> 
    <input type="submit" name="Clear" value="Erase" style="width:265px;height:30px;background:white;color:black;border:2px solid #dfdfdf;margin-top:2px;" class="cbutton"/> 
    </form> 
</div> 
<p style="font-size:35px;text-align:center;font-family:Raleway;">To do List</p> 
<div id="list2" style=""> 

<?php 
    $myfilename = "data.txt"; 
    if (file_exists($myfilename)) { 
    echo file_get_contents($myfilename); 
    nl2br($myfilename); 
    } 
?> 

PHP (process.php):

<?php 
    // We will put the data into a file in the current directory called "data.txt" 
    // But first of all, we need to check if the user actually pushed submit 

    if (isset($_POST['submitButton'])) { 

    // The user clicked submit 
    // Put the contents of the text into the file 
    file_put_contents('./data.txt', $_POST['myInputName'] . '</br>', FILE_APPEND); 
    $str = $_POST["myInputName"] echo nl2br($str); 

    // ./data.txt: the text file in which the data will be stored 
    // $_POST['myInputName']: What the user put in the form field named "myInputName" 
    // FILE_APPEND: This tells the function to append to the file and not to overwrite it. 
    header('Location: index.php'); 
    } 

Vielen Dank im Voraus!

Habe eine Menge Probleme damit gehabt.

+0

in Ihrem html Ihr Echo der Datei Inhalt außerhalb der Textarea - so wird es nie funktionieren. Sie wenden auch nl2br auf den Dateinamen an, nicht auf den Inhalt. –

+1

können Sie nicht einfach 'echo nl2br (file_get_contents ($ myfilename))' '? – junkfoodjunkie

+0

Ich werde jetzt versuchen. Ich habe alles versucht, woran ich denken kann, deshalb war es wahrscheinlich, dass ich außerhalb des Textfelds mit allem experimentierte, was mir einfiel. –

Antwort

0

Sie sind nicht echo das Ergebnis nl2br(), Sie sind nur den ursprünglichen Inhalt der Datei echo, dann Aufruf nl2br() und ignorieren, was es zurückgibt. Es sollte sein:

echo nl2br(file_get_contents($myfilename)); 
0

einfach PHP eingebaute Funktion verwenden: nl2br() und das sollte es tun, wie so:

<?php 
     $stringFromTextArea = "The Quick brown Fox\nStumble upon\nA Bag of Worms\n"; 
     $stringWithBR  = nl2br($stringFromTextArea); 
     echo $stringWithBR; 

Diese gleiche Funktion noch für einen Inhalt verwendet werden könnte gesiebten file_get_contents() mit wie so :

<?php 
     $stringFromFile  = file_get_contents($pathToFile); 
     $stringWithBR  = nl2br($stringFromFile); 
     echo $stringWithBR;