#php #forms #richtextbox
#php #формы #richtextbox
Вопрос:
Привет,
Можно поддерживать формат текстовой области с помощью PHP form, чтобы сообщение, отправляемое по почте администратору, было отформатировано надлежащим образом.
ie. Если кто-то пишет в текстовой области,
Уважаемый сэр,
Я пишу в connceti….
Большое спасибо,
На данный момент это электронное письмо как
Уважаемый сэр, я пишу в connceti… Большое спасибо,
Если нет, то я полагаю, что решение заключается в замене текстовой области текстовым редактором. Это все хорошо, но что, если javascript отключен.
Есть идеи,
Чудесный
Комментарии:
1. Вы отправляете электронное письмо в виде текста или в формате html? Если ваше электронное письмо имеет формат html, то вам необходимо преобразовать новые строки в тег <br/> с помощью ln2br(), прежде чем помещать текст в электронное письмо.
2. Если вам нужно сохранить только правильные строки, вы можете попробовать nl2br . Вам также следует взглянуть на @ отправка электронной почты в формате HTML , поскольку это обязательно понадобится, если вы планируете использовать Rich Text Editor
3. Взрыв, простой ответ. Я установил для него тип содержимого: html.. Все исправлено
Ответ №1:
Возможно, вам потребуется заменить (в зависимости от системы):
nr or n or r
Автор::
<br />
Требуется функция PHP:
nl2br()
Комментарии:
1. Единственная проблема с этим заключается в том, что вам нужно будет вручную добавлять » n» перед каждым переносом строки, чтобы ln2br () работал. 🙁
2. Нет,
n
илиr
илиnr
просто представляет разрыв строки в обычном тексте. Проверьте объяснение от JohnP. Не нужно ничего вставлять.3. На самом деле это должно быть
nl2br()
неln2br()
Ответ №2:
На данный момент кажется, что ваши электронные письма могут быть отправлены в формате HTML. Формат HTML автоматически удаляет разрывы строк, если заданный ввод не в формате HTML. Если вы не хотите форматировать HTML, попробуйте отправить сообщение обычным текстом, тогда ваши разрывы строк все равно должны отображаться.
Чтобы отправить сообщение в виде обычного текста, просто используйте функцию PHP mail (), без каких-либо дополнительных заголовков:
mail('john@gmail.com', 'Test Email', 'My Message...
with a line break!');
Если у вас все еще возникают проблемы, попробуйте интегрировать HTML-редактор WYSIWYG, такой как мощный редактор TinyMCE.
Примечание: чтобы редактор HTML мог правильно отправлять электронные письма, вам нужно будет отправлять электронные письма в формате HTML (где вам нужно будет указывать заголовки в качестве четвертого параметра в функции mail()).). Это наверняка решит ваши проблемы с переносом строк.
Надеюсь, это поможет,
spryno724
Ответ №3:
Новые строки в <textarea>
сохраняются как браузером, так и PHP. Возможно, они теряются в самом теле письма или просто не отображаются браузером, даже если они там есть.
Если вы отправляете HTML-сообщение, вам нужно nl2br(htmlspecialchars($your_textarea_data))
добавить необходимые <br>
теги.
Если вы отправляете обычное текстовое сообщение, проверьте, не смешиваете ли вы последовательности перевода строки LF (в стиле Unix) и CR LF (в стиле DOS), которые могут сбивать с толку ваш почтовый клиент.
Ответ №4:
Это зависит исключительно от формата вашей электронной почты.
Когда вы вводите этот текст, он на самом деле выглядит так
Dear Sir, n
n
I am writing in connceti....n
n
Many Thanks,
Если вы отправляете текстовое сообщение, вы должны убедиться, что строки не удалены. И если вы отправляете электронное письмо в формате HTML, вы должны убедиться, что вы заменили эти разрывы строк на <br>
теги