简体   繁体   中英

PHP - Remove Line Breaks From Textarea

I was wondering what I am missing in my code. I have a large form that is pushing all values to a .csv file . There are instances of textareas and every time I put some text content in and add a line break (hit the enter-key) within the .csv document, any line of text after the first breaks the flow of the values within the .csv , and starts a new line.

I've tried checking taking the value via php and removing any spaces or breaks, but it doesn't seem to be working.

Can anyone tell me what I am missing?

HTML:

<textarea id="fianlCommentsText" name="fianlCommentsText"></textarea>

PHP:

$finalCommentsText = $_POST["finalCommentsText"];
function finalCommentsLineCheck()
    {
        global $finalCommentsText;
        preg_replace( "/\r|\n/", "", $finalCommentsText );
    }
    finalCommentsLineCheck();

The "choice" of \\r or \\n requires parens:

preg_replace( "/(\r|\n)/", "", $finalCommentsText );

Try that?

In order to allow multiline fields in csv, you need to quote them with "

For example:

12345,"multiline
text",another_field

In case you have quotes inside your text, just escape them with another quote:

12345,"27"" monitor 
TFT",another_field

This way you can keep the newlines inside the text.

In my case I solved in this way:

Output to a textarea removing the '\\n' characters:

<!-- this textarea will show blank carriage return and not \n characters -->
<textarea  class="settinginput" id="message" name="message">
<?php echo str_replace('\n',"\n",$message); ?>
</textarea>

After submit here is how to replace the carriage returns with the '\\n' not expanded characters:

str_replace("\r\n",'\n',$_POST['message'])

Note that the replace function uses double quotes and single quotes in order to save the string with no expansion for escape sequences.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM