Textarea wrap hard добавить новую строку к обернутому слову

У меня есть сценарий, который печатает содержимое файла в текстовом поле, чтобы внести изменения в содержимое файла, а затем обновить его.

$file_content = file_get_contents($filename);
if (isset($_POST['text']))
    file_put_contents($filename, $_POST['text']);

<textarea name = "text" wrap = "hard">
    echo htmlspecialchars($file_content, ENT_QUOTES, 'UTF-8');
</textarea>

Чтобы сделать форму редактирования текстового поля «лучше», я добавил атрибут wrap = "hard", чтобы содержимое файла можно было просматривать без горизонтальной прокрутки.

Проблема этого атрибута заключается в том, что при переносе по словам предложения, которое находится в одной строке: после обновления файла с помощью формы перенос слов действует также и в содержимом файла, добавляя новую строку \n в предложение с переносом.

Есть ли способ этого избежать?

Давайте посмотрим, как вы настроили эту проблему в демонстрации. Мы хотим увидеть некоторые образцы данных и то, что вы хотите получить в качестве желаемого результата.

mickmackusa 28.10.2018 23:50

Хм, я не думаю, что вы сможете различать новые строки пользователя и автоматические новые строки. Я имею в виду, что даже если вы onsubmit() удалите атрибут wrap, если есть какие-то изменения, я не думаю, что будет достаточно осведомленности для восстановления данных.

mickmackusa 28.10.2018 23:58

Почему вы используете жесткую пленку? Это, в частности, добавляет новые строки к отправленным данным, когда они достигают ширины столбца текстового поля. Есть ли причина, по которой вы не можете сделать это с wrap = "soft"? Сделайте текстовое поле достаточно большим, а затем просто живите с людьми, которым нужны их данные в одной строке.

NightSicarius 29.10.2018 00:02
overflow-x: hidden;, вероятно, подойдет, если вы ищете метод CSS во время вывода в браузер. В любом случае лучше справиться с этим с помощью CSS, чем возиться с файлом.
Funk Forty Niner 29.10.2018 00:14
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
93
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я порекомендую style = "resize: vertical; и просто позабочусь о том, чтобы вы как можно больше использовали атрибуты cols и rows.

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

Я сделал быстрый / грязный тест на https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_textarea_wrap

Как прокомментировал @Funk, overflow-x: hidden - еще один допустимый метод стилизации.

Но эй, по умолчанию текстовое поле все равно оборачивает это за вас. Применяются ли к вашему элементу другие стили, о которых вы нам не рассказали? Ограничено ли текстовое поле другими элементами?

Другие вопросы по теме