Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

PHP - удаление /n/r

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Интернет
Предыдущая тема :: Следующая тема  
Автор Сообщение
Subfire



Зарегистрирован: 11.12.2002
Сообщения: 185

СообщениеДобавлено: Вт Дек 03 2002 17:03    Заголовок сообщения: PHP - удаление /n/r Ответить с цитатой

Странное дело...
Вот у меня из формы в PHP скрипт отпрвляются данные из TEXTAREA.
Как можно заметить, разрыв строк там кодируется как последовательность /n/r (0A,0D hex, %0A%0D как url строка).
Пробую удалить их nl2br (перенос строк заменяется на html тег).
Что интересно, заменяется на тег <br /> со слешем в конце =)
Ну это ладно еще, заменяется только /n, а /r остается...
Вспоминаю хитрость, что в *nix разрыв строк и переход на новую просто /n а в винде /n/r.
Тогда пробую htmlentities:
(Переводит все возможные символы в коды HTML. - по описанию).
И тут та же фигня...что меня совсем удивляет!!! (правда, эта функия уже просто <br> выводит =)
Если с nl2br можно понять - ориентирована на *nix, то почему htmlentities оставляет /r "как есть"?
Прихолится делать ereg_replace("\r\n","",$str)
что по скорости должно быть вообщем-то идентично...но все равно неприятно =)
Это скорее не вопрос, а мой опыт для тех кто может столкнуться с такой вещью...
Вообще, когда я беру строку из формы я пишу:
$msg=ereg_replace("\r\n","<br>",ucfirst(htmlspe cialchars($msg)));
что позволяет избавиться от тегов в тексте и заменить все переносы строки на br
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Олигарх



Зарегистрирован: 28.09.2002
Сообщения: 102

СообщениеДобавлено: Вт Дек 03 2002 17:15    Заголовок сообщения: Re: Ответить с цитатой

Тебя послушать - так профессионал, а элементарщину не знаешь...


На "ограниченном языке" РНР это делается просто:

$text = str_replace("\r", "", $text);
$text = str_replace("\n", "", $text);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Subfire



Зарегистрирован: 11.12.2002
Сообщения: 185

СообщениеДобавлено: Ср Дек 04 2002 11:29    Заголовок сообщения: Re: Ответить с цитатой

Здравстсвуй попа новый год, приходи на елку...
Ты видимо абсолютно невнимательно читал =)
Я же не спрашивал у тебя как решить задачу - решение абсолютно тривиально, и я его привел=)
И то что ты предлагаешь скорее говорит о твоей некомпетентости как программиста.
Ведь как мы знаем, у нас идет подряд \r\n
так что str_replace("\r\n", "", $text);
вместо
$text = str_replace("\r", "", $text);
$text = str_replace("\n", "", $text);

Что работает ЗНАЧИТЕЛЬНО быстее.
Оптимизировать нужно на алгоритмическом уровне.
А ereg_replace я использую по особым соображениям.
Под ограниченным ты судя по всему имеешь ввиду PHP/FI...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Интернет Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...