Нужен "неклавиатурный" непробельный символ

Лисю

Guest
Нужен "неклавиатурный" непробельный символ

Суть проблемы: в моём классе идёт обработка текста. Класс обрабатывает текст в зависимости от условий обработки. ВВ-теги, допустимость/недопустимость HTML и пр.

Сначала текст обрабатывается функцией html_entity_decode, что позволяет использовать мнемоники.

Потом, идёт htmlspecialchars, за ним функция обработки ВВ-тегов, потом nl2br функция ....коечто ещё... и наконец функция return_newline.

Последняя заменяет слова new_line_symbol на символ новой строки. Зачем это нужно?

Дело в том, что nl2br заменяет \n на <br> везде, а в теге [pre] (аналог <pre>) этого делать НЕ НУЖНО!

Поэтому и приходится в патерне
PHP:
"#\\[PRE\\](.+?)\\[/PRE\\]#ims"
заменять \n на идиотское словосочетание new_line_symbol, а потом, при прохождении текста через nl2br преобразовывать new_line_symbol в \n.

Смущает то, что в качестве метки я использую слово. А хотелось бы какой-нибудь символ или непечатаемую последовательность. Но какую?

-~{}~ 28.11.05 15:14:

как енто работает можете тут посмотреть - http://krugozor.air-studia.com/admin/
 

SiMM

Новичок
> в теге [pre] (аналог <pre> ) этого делать НЕ НУЖНО!
Ну и не делай. Разбей вначале текст на блоки, а потом обрабатывай каждый блок так, как для него допустимо. Задача чем-то напоминает написание калькулятора и перевода обычной нотации в польскую запись.
 

Лисю

Guest
не, такой вариант уже поздно рассматривать.
 

SiMM

Новичок
> не, такой вариант уже поздно рассматривать.
А в другом случае POST/GET'ом может быть передан любой символ.
 

SelenIT

IT-лунатик :)
nl2br заменяет \n на <br>
На \n<br>, если быть точным (поразительно, до чего живуч миф, что [m]nl2br[/m] что-то удаляет...).
Имхо, достаточно потом сделать в упомянутом паттерне обратную замену \n<br> на \n - и дело в шляпе, безо всякой "эквилибристики" с метками...
 

Лисю

Guest
_RVK_
Да, ты прав. Я сделал следующиее: заменил свою метку на код chr(27) и это работает! Только вот вопрос, правельный ли я символ выбрал? Он точно не может попать от пользователя?

И зачем нужны другие символы в этой таблице - http://www.lookuptables.com/ ?

Начиная от 0 до 31? Где они применяются?
 

crocodile2u

http://vbolshov.org.ru
Лисю
А ты читал описание этой таблицы? Оно на той же странице.
 

_RVK_

Новичок
>точно не может попать от пользователя

Конечно может! Причем любой! Но только целенаправленно.
 

Лисю

Guest
_RVK_
не, мне интересно попадание символа именно из текстовой области и не целенаправленно.

-~{}~ 29.11.05 11:45:

ибо целенаправленон введение этого символа бессмысленно..
 

SiMM

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

Лисю

Guest
SiMM
Начиная от попортить дизайн и заканчивая поломать сайт.
и получат они в лучшем случае множество <br> тегов
ничем не отличается от





этого
 

Sizz

Новичок
Лисю
прочтай все-таки сообщение SelenIT. ты решаешь несуществующую проблему.
 
Сверху