За последние 24 часа нас посетили 20708 программистов и 1103 робота. Сейчас ищут 408 программистов ...

Как сохранить переносы строк из textarea и как разбить массив на строки?

Тема в разделе "PHP для новичков", создана пользователем raxvell, 10 авг 2022.

Метки:
  1. raxvell

    raxvell Новичок

    С нами с:
    28 июл 2022
    Сообщения:
    7
    Симпатии:
    0
    На сайте есть HTML форма, данные из которой передаются в docx файл.

    Проблема в том, что все данные из чекбоксов и textarea передаются в строчку, а мне нужно сделать так, чтобы чтобы каждое значение из чекбоксов выводилось на новой строке и чтобы текст из textarea сохранял переносы.

    Часть HTML формы:
    HTML:
    1. <input type="checkbox" id="intramural" value="Очная" name="study_forms[]"> <label for="intramural">Очная</label>
    HTML:
    1. <textarea id="personal_results" name="personal_results" placeholder="Личностные результаты"></textarea>
    Часть PHP кода:
    PHP:
    1. $study_forms = $_POST['study_forms'];
    2.  
    3. $document->setValue('study_forms', implode(", ", $study_forms));
    PHP:
    1. $personal_results = $_POST['personal_results'];
    2.  
    3. $document->setValue('personal_results', $personal_results);
    Пробовал прописать PHP_EOL и /n, но безрезультатно, вероятно делал что-то неправильно
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.816
    Симпатии:
    735
    Адрес:
    Татарстан
    тебе сначала надо было через запятую.. теперь строки... ты определись
    .... замени запятую на <br/> например
    для textarea используй функцию nl2br()
     
  3. raxvell

    raxvell Новичок

    С нами с:
    28 июл 2022
    Сообщения:
    7
    Симпатии:
    0
    форма большая, через запятую тоже надо :)

    если писать <br/>, то документ не открывается "из-за ошибок его содержимого" (в document.xml)
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.816
    Симпатии:
    735
    Адрес:
    Татарстан
    ну <br> попробуйте
    если нет то /r/n итд
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @raxvell, немного теории:
    В html новая строка обозначается тегом <br>
    В textarea - парой \r\n (возврат каретки и перенос строки), либо по отдельности или же в таком вот виде: &#13;&#10;
    Чтобы текст из textarea показать в html и при этом сохранить переносы - надо использовать функцию nl2br()
    Константа PHP_EOL инициализируется в зависимости от операционной системы, на которой выполняется сервер (либо \r\n для windows, либо \n для линукс, либо \r....) и её имеет смысл использовать только для вывода в файл или какой-нибудь другой поток вывода, но не клиенту в браузер (если конечно, вывод не пропускать через nl2br()).