Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Странности с переносом строк

Сообщения:  [1-10]   [11-15] 

 
 автор: Саня   (30.11.2006 в 13:17)   письмо автору
 
   для: coloboc66   (30.11.2006 в 12:24)
 

Сообщает браузеру тип передаваемых даних. На основе этого типа браузер решает как отобразить документ.
Если text/html, данные направляются в html-парсер. Если text/plain, вывести как есть. Если image/jpeg, к работе подключается графическая библиотека... и так далее.

   
 
 автор: coloboc66   (30.11.2006 в 12:24)   письмо автору
 
   для: elenaki   (30.11.2006 в 12:13)
 

Что означает text/plain ? У меня стоит text/html

   
 
 автор: elenaki   (30.11.2006 в 12:13)   письмо автору
 
   для: coloboc66   (30.11.2006 в 12:04)
 

я проблемы с нелатинскими кодировками решила заголовками. в том файле на PHP, который
формирует результаты запроса и передает их обратно в браузер, надо поставить хедеры:

header("Content-type: text/plain; charset=windows-1251");

там еще были про no-cashe, но я их убрала, без них лучше

   
 
 автор: coloboc66   (30.11.2006 в 12:04)   письмо автору
 
   для: coloboc66   (30.11.2006 в 11:16)
 

В общем, чтоб долго не мучитья, сделал так: на клиентской стороне при формировании строки вместо "\n" везде поставил "|". А на серверной стороне при помощи str_replace просто меняю "|" на "<br>". Но остается непонятным вот что: в каких случаях при обработке кириллицы на серверной стороне (и на клиентской) возникают проблемы вообще? И отчего это зависит, может, от браузера? Я все скрипты пишу только под ИЕ, проблем с кириллицей при этом не имел никогда. Но вот когда-то написал на аяксе чат. Под ИЕ он работает без проблем, но ради любопытства попросил людей потестировать его с Оперы и их данные оказались нечитаемыми. Почему- я так и не понял.

   
 
 автор: coloboc66   (30.11.2006 в 11:16)   письмо автору
 
   для: Саня   (30.11.2006 в 11:11)
 

---

   
 
 автор: Саня   (30.11.2006 в 11:11)   письмо автору
 
   для: coloboc66   (30.11.2006 в 11:08)
 

http://softtime.ru/forum/read.php?id_forum=4&id_theme=11146

   
 
 автор: coloboc66   (30.11.2006 в 11:08)   письмо автору
 
   для: elenaki   (30.11.2006 в 11:01)
 

Не хочется перекраивать скрипт. Вот если закодировать строку на кириллице методом encodeURIComponent(), то переносы строк работают, но РНР-скрипт выводит строку в нечитаемом виде(кракозяблики). Наверно на серверной стороне нужно строку чем-то раскодировать, а чем?

   
 
 автор: elenaki   (30.11.2006 в 11:01)   письмо автору
 
   для: coloboc66   (30.11.2006 в 10:55)
 

а как насчет передавать много параметров: ?str1=...&str2=...&str3=..., а потом разбирать URL
и выводить эти переменные в том виде, который вас устраивает?

   
 
 автор: coloboc66   (30.11.2006 в 10:55)   письмо автору
 
   для: tuder   (30.11.2006 в 10:39)
 

Поставил перед n двойной слэш: "\\n"
Теперь при echo $_GET['params'] вижу:
str1\nstr2\nstr3\n
Но при echo nl2br($_GET['params']); вижу то же самое:
str1\nstr2\nstr3\n

   
 
 автор: coloboc66   (30.11.2006 в 10:46)   письмо автору
 
   для: elenaki   (30.11.2006 в 10:39)
 

В кавычки <br> загнать можно и все получится, но для безопасности мне нужно, чтобы клиент не мог вводить теги в поля.

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования