2016-10-25 5 views
0

Мне было интересно, чего я не хватает в своем коде. У меня есть большая форма, которая нажимает все значения на .csv file. Имеются экземпляры textareas и каждый раз, когда я помещаю некоторый текстовый контент и добавляю разрыв строки (нажмите клавишу ввода) в документе .csv, любая строка текста после первого разрывает поток значений в пределах .csv и запускает новая линия.PHP - Удаление строк из текстового поля

Я пробовал проверять значение с помощью php и удалять любые пробелы или перерывы, но он, похоже, не работает.

Может ли кто-нибудь сказать мне, что мне не хватает?

HTML:

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

PHP:

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

ответ

1

этом "выбор" из \ г и \ п требует скобок:

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

Try что?

+0

Сейчас я сделаю снимок! –

+0

Это не сработало. –

+0

AH, dagnabbit, опечатка ... крепление ответ сейчас. – WEBjuju

0

Для того чтобы многострочных полей в формате CSV, необходимо привести их "

Например:

12345,"multiline 
text",another_field 

В случае, если у вас есть кавычки внутри текста, просто избежать их с другой цитатой:

12345,"27"" monitor 
TFT",another_field 

Таким образом, вы можете сохранить символы новой строки внутри текста.

+0

Прошу прощения, я не понимаю, что вы пытаетесь объяснить. Это вход, поэтому я не буду иметь предварительный доступ, как пишет пользователь, но, вы имеете в виду раздел, где я нажимаю свои переменные в .cvs, должен быть в кавычках, например? $ csvData = $ firstName. ",". $ lastName. ",".«$ homeAddress» –

+1

Да, прежде чем писать многострочное поле в csv, заключите его в двойные кавычки - таким образом вы можете сохранить символы новой строки, введенные пользователем. –

+0

@theodoresteiner - то, что предлагает Danny_ds, заключается в том, что вы больше не удаляете \ r и \ n, а вместо этого обновляете свой код сохранения csv, чтобы он мог быть сохранен. вы можете иметь разрывы строк в вашем csv, вам просто нужно правильно «убежать» от них, чтобы они не сломали csv. вы должны посмотреть на http://php.net/fputcsv, который поможет вам ускользнуть. – WEBjuju

0

В моем случае я решил таким образом:

Выход в текстовое поле удаления «\ п» символов:

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

После представить здесь как заменить возврат каретки с «\ п»не расширенные символы:

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

Обратите внимание, что функция замены использует двойные кавычки и одинарные кавычки, чтобы сохранить строку, без расширения для управляющих последовательностей.

Смежные вопросы