Вы не зашли.
Главная » PHP » (ок) Двойная обработка htmlspecialchars
#1. НЕЗНАЙКА Off (11)
Участник
2011.04.16 13:01
Привет. Грубо говоря написал (вернее готовое взял) шаблонизатор. Есть функция обработки спецсимволов. Добавляя переменные на выходе имеем &quote; вместо кавычки. Что не так?
Код:
span style="color: #0000BB"><?php // Замена на HTML сущности private function xss($var) { if (is_array($var)) { $protected = array(); foreach ($var AS $key=>$value) $protected[$key] = $this->xss($value); return $protected; } return htmlspecialchars($var); }// Переждаем параметры// true включает экранизацию$view->show('template', array('title' => 'Привет, "мир"!'), true);?>
ДАУН-Данная Аватара Унаследована Незнайкой
#2. tipsun Off (19)
Moderator
2011.04.16 13:01
Код:
span style="color: #0000BB"><?php // Замена на HTML сущности private function xss($var) { if (is_array($var)) { $protected = array(); foreach ($var AS $key=>$value) $protected[$key] = $this->xss($value); return $protected; } else //так пробовал? { return htmlspecialchars($var); } }// Переждаем параметры// true включает экранизацию$view->assign('template', array('title' => 'Привет, "мир"!'), true);?>
Отредактировано tipsun (2011.04.16 13:01)
#3. НЕЗНАЙКА Off (11)
Участник
2011.04.16 13:01
Тут как бы неважно else. Блок условия останавливается после return
ДАУН-Данная Аватара Унаследована Незнайкой
#4. tipsun Off (19)
Moderator
2011.04.16 13:01
А точно, там return в первом же.
#5. НЕЗНАЙКА Off (11)
Участник
2011.04.16 13:01
Тут дело скорее в другом. Я передаю несколько параметров в разных частях, но в итоге обрабатывается общий массив этих параметров
ДАУН-Данная Аватара Унаследована Незнайкой
#6. Gemorroj Off (107)
Administrator
2011.04.16 13:01
дело не тут. очевидно же, что htmlspecialchars вызывается 1 раз. где-то он вызывается повторно.
#7. НЕЗНАЙКА Off (11)
Участник
2011.04.16 13:01
Один assign в файле php.
Второй и Третий в шаблоне.
И функция обрабатывает уже весь этот результат, а не как я задаю true/false:( А хотел, чтобы некоторые данные были "как есть".
ДАУН-Данная Аватара Унаследована Незнайкой
#8. Gemorroj Off (107)
Administrator
2011.04.16 13:01
нафига в assign???? убери оттуда обработку. это задача шаблона. данные можно отдавать не только в html, так что внутри модели они должны быть в оригинальном виде.
#9. НЕЗНАЙКА Off (11)
Участник
2011.04.16 13:01
"Обрабатывать нужно в шаблоне" я так понял?
Но это ее для каждой переменной пропиывать нечто echo htmlspecialchars($title)
Или же просто убрать обработку из assign и оставить... Бл@ Точно! В show как бы дубль assign, чтобы сразу переменные в шаблон послать. И там стоит true
ДАУН-Данная Аватара Унаследована Незнайкой
#10. Gemorroj Off (107)
Administrator
2011.04.16 13:01
ну смотря как шаблонизатор организован.
в smarty это escape http://www.smarty.net/docsv2/en/languag … escape.tpl
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.012 s