|
|
|
| Скажите, можно ли узнать была ли переменная уже обработана htmlspecialchars()? Иначе при повторной обработке возникают крокозябры.
Или какую альтернативную функцию можно применить, чтобы при ее повторной обработке строка не изменялась? | |
|
|
|
|
|
|
|
|
для: Loki
(12.02.2010 в 19:43)
| | Спасибо! Проблема решена. Если выставить четвертый параметр в FALSE, то повторная обработка значения не приводит ни к каким изменениям значения, что мне и требовалось. | |
|
|
|
|
|
|
|
для: Alexey_Tihonenko
(12.02.2010 в 21:49)
| | Ну да. Могилу вырыл - проблему решил. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 22:03)
| | Я честно говоря не понимаю в чем неправильность моего подхода заключается.
Мне нужно было преобразовать строку с html кодом в безопасное представление. При этом неизвестно производились ли преобразования этой строки до этого или нет. Причем(если в строке содержался html-код) при последующем выводе строки в окно браузера не хотелось, чтобы она выглядела так:
<p>Hello world!</p>
а хотелось, чтобы она выглядела вот так:
<p>Hello world!</p>
Что же не так? | |
|
|
|
|
|
|
|
для: Alexey_Tihonenko
(12.02.2010 в 22:21)
| | То, что когда до зарезу возникнет необходимость сделать, чтобы некая строка выглядела именно вот так:
&lt;p&gt;Hello world!&lt;/p&gt;
или хотя бы так: &
так вот - тогда Владелец сайта не сможет этого сделать Вашим скриптом.
Вас тогда уже не будет. А матюги в Ваш адрес будут лететь. Заслуженные такие матюги. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 22:41)
| | Сэнсэй не судите так строго. Я же не волшебник, я только учусь))
Ошибка уяснена, будем исправлять. | |
|
|
|
|
|
|
|
для: Alexey_Tihonenko
(12.02.2010 в 22:21)
| | Нет критерия, по которому можно определить -- была строка пропущена через htmlspecialchars() или нет.
КТО тебе сказал, что строка "<b>" когда-то была пропущена через htmlspecialchars()? o_O А если я её сразу такой ввёл? O_o Твоя функция радостно оставит этот кусок текста и на экране я увижу текст "<b>" вместо введённого мной "<b>". | |
|
|
|
|
|
|
|
для: Alexey_Tihonenko
(12.02.2010 в 19:00)
| | переменная не обрабатывается никакими функциями.
Обрабатывается значение. Превращаясь из одного в другое.
Не бывает никаких повторных обработок.
Бывает кривая логика программы. | |
|
|
|
|
|
|
|
для: Alexey_Tihonenko
(12.02.2010 в 19:00)
| | Определить нельзя ,но существует обратная функция для htmlspecialchars( преобразования). | |
|
|
|
|
|
|
|
для: oliss
(12.02.2010 в 23:14)
| | Вот только всегда ли она взаимооднозначна - эта функция? | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 23:22)
| | Практически, её никто не использует (правильно надо хранить данные в БД :) | |
|
|
|
|
|
|
|
для: oliss
(12.02.2010 в 23:35)
| | Тогда зачем советуете? | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 23:38)
| | Для общего развития. | |
|
|
|