2016-07-23 18 views
0

Ich versuche, in eine TXT-Form eine mehrzeilige str speichern und dann zugreifen mit Gets-Funktion, also versuche ich alle \ n durch etwas anderes zu ersetzen (#n als Beispiel). Es funktioniert nicht aus irgendeinem Grund. Auch wenn ich die Funktion str_replace bei verschiedenen Suchbegriffen teste, scheint es nicht zu funktionieren. irgendeine idee warum?PHP: Speichern mehrzeiliger Zeichenfolge als einzelne Zeile, um zu speichern mit str_replace

<?php 
     //define variables 
     $docRoot = $_SERVER["DOCUMENT_ROOT"]; 
     $title = $_POST["title"]; 
     $author = $_POST["author"]; 
     $content = $_POST["content"]; 
     $date = time(); 

     //building post 
     str_replace("\\n", "#n", $content); 
     $post = $date.' \t '.$title.' \t '.$author.' \t '.$content."\n"; 

     //open and writing posts file 
     file_put_contents("$docRoot/ToDoProject/posts/posts.txt", $post, FILE_APPEND); 

     echo "<h1>Post uploaded!</h1>" 
    ?> 

Pfosten nimmt Daten von:

<form class="form-horizontal" action="php/processpost.php" method="post"> 
    <fieldset> 

    <!-- Form Name --> 
    <legend>Submit post</legend> 

    <!--Date --> 
    <?php 
     $date = date("H:i, dS F, Y"); 
     echo "$date"; 
    ?> 

    <!-- Text input--> 
    <div class="form-group"> 
    <label class="col-md-4 control-label" for="title">Title</label> 
    <div class="col-md-4"> 
    <input id="title" name="title" type="text" placeholder="" class="form-control input-md" required=""> 

    </div> 
    </div> 

    <!-- Text input--> 
    <div class="form-group"> 
    <label class="col-md-4 control-label" for="author">Author</label> 
    <div class="col-md-4"> 
    <input id="author" name="author" type="text" placeholder="hephaestus" class="form-control input-md" required=""> 

    </div> 
    </div> 

    <!-- Textarea --> 
    <div class="form-group"> 
    <label class="col-md-4 control-label" for="content">Content</label> 
    <div class="col-md-4">      
    <textarea class="form-control" id="content" name="content"></textarea> 
    </div> 
    </div> 
    <!--Submit Button --> 
    <button class="btn btn-primary btn-lg" type="submit" value="Submit Order" style="position: absolute; right: 2px;"> 
    Submit</button> 
    </fieldset> 
    </form> 

auch, wenn verwende ich str_replace und wenn prag_replace? Wie gebe ich den gleichen Code in prag_replace ein?

+0

Versuchen Sie, '" \\ n "' durch '" \ n "' zu ersetzen. –

+0

versucht und es hat nicht funktioniert –

Antwort

1

Der Fehler ist in dieser Zeile:

//building post 
str_replace("\\n", "#n", $content); 

Sie die Newline-Zeichen mit #n ersetzen, aber Sie haben nicht das Ergebnis zurück zu $ ​​content speichern. Versuchen Sie folgendes:

$content = str_replace("\\n", "#n", $content);