PHP: убрать лишние переносы строк @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 5 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Заголовок сообщения: PHP: убрать лишние переносы строк
Сообщение Добавлено: 5 Апрель 2011, 17:05:25 
Добрый день.
Есть flash-сайт с панелью администрирования на php.
Когда в админ панели я ввожу текст, он записывается в MySQL базу. На сервере, также, есть php-файл, который при обращении к нему генерирует xml с данными из MySQL. Этот xml читается флеш-сайтом.

Проблема с отступами в тексте, которые генерируются сами по себе. От них я хочу избавиться.
Вот пример текста в админке:

Изображение

В нём после первого предложения идёт перенос на следующую строку.
А после второго предложения — перенос на две строки вниз.
И вот что видит флеш-сайт:

Изображение

Как видите, там, где есть переносы на строку вниз добавилось по одному отступу.
-------------
При этом, если я в админке пишу текст в таком стиле:

Изображение

то форматирование работает нормально.
Я предполагаю, что эти дополнительные отступы от того, что во флеше включено HTML-форматирование (есть такая необходимость).

В ходе работы я случайно наткнулся на такой нюанс:
если на сервере, есть два xml-файла (не те которые генерируются php, а именно файлы): один в UNIX кодировке, а другой — в DOS\Windows, то в первом случае флеш с включённым HTML форматированием читает текст нормально (без дополнительных отступов), а во втором — с отступами.

У меня хостинг на Linux сервере. И я не понимаю, почему сгенерированный сервером XML ведёт себя так как будто бы это файл с DOS\Windows кодировкой?

И основной вопрос: как избавиться от лишних переносов строк, сохранив HTML-форматирование для Flash?

_________________
• NORDSKILL •
Slavka Муж.
соучастник
17
Сообщения: 364
Зарегистрирован: 29.05.08
Откуда: Юкрейн
Сообщение Добавлено: 6 Апрель 2011, 20:07:17 
Так просто ищите символы #13 в тексте и заменяйте их на <br />. При выводе текста в админке - наоборот меняйте :)
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 7 Апрель 2011, 11:23:18 
а что это за символ? Нигде не могу найти подобного: http://www.yellowpipe.com/yis/tools/ASC … /index.php

_________________
• NORDSKILL •
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 7 Апрель 2011, 23:54:40 
Проблема решена:
Код:
$text = str_replace("\r\n", "", nl2br($text));

Я о таком нюансе с \r\n не знал и пробовал подставлять только \n.

_________________
• NORDSKILL •
Slavka Муж.
соучастник
17
Сообщения: 364
Зарегистрирован: 29.05.08
Откуда: Юкрейн
Сообщение Добавлено: 8 Апрель 2011, 23:46:38 
Эхъ, не успел ответить.

http://en.wikipedia.org/wiki/ASCII
Код:
13 - CR - \r - Carriage return


По сути то же самое. Просто я всегда искал по коду.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 5 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100