LINUX.ORG.RU

Как безопасно заполнить value для option?

 ,


0

2

Достаточно ли в select.option.value экранировать «\» все одинарные и двойные кавычки, а также сам «\»?

Т.е., например, хватит ли перловой функции quotemeta?

Спасибо!

P.S. Прошу прощения за то, что ошибся раздел форума - есть Web-development рядом, просто промахнулся.

★★★★★

Последнее исправление: DRVTiny (всего исправлений: 1)

Угловые скобки и амперсанд ещё как минимум

Вот готовый модуль: http://search.cpan.org/~gaas/HTML-Parser-3.72/lib/HTML/Entities.pm Ну или вот такой костыль, мне его было достаточно:

sub html_entity{
        local @_=@_;
        map{ $_='' unless defined $_;s/&/&amp;/g;s/"/&quot;/g;s/</&lt;/g;s/>/&gt;/g;s/'/&#39;/g} @_;
        return wantarray?@_:join("\n",@_);
}

disarmer ★★★
()
Ответ на: комментарий от disarmer

Проблема в том, что в итоге я вижу в select'е буквально то, на что был заменён текст после entities. Работает правильно, если вставить между открывающим/закрывающим тегами <option> и </option>, но не работает в самом value.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

В value обычно вставляют какой-нибудь числовой id, по которому на сервере значение селектят из базы. Опять же никто не мешает сделать decode_entities на сервере.

Olegymous ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.