2011-01-24 2 views
1

im создает небольшой форум и получил эту проблему, когда я отправляю комментарий к нему. У этого есть < внутри него, тогда htmlspecialchars преобразует его в &gt;. link на форум (это датский, но вы должны его использовать).htmlspecialchars преобразует <to >

+1

Это происходит потому, что «<» ** является особым символом. – Pointy

+1

Это может быть для ввода санитарных целей, чтобы люди не могли вводить HTML или javascript, используя теги скриптов. –

+0

Яр знаю, но он должен отображаться как <> ' – csstener

ответ

0

Если вы хотите разрешить специальные символы в комментариях (что, на мой взгляд, является правильным решением для общего поля, такого как «Комментарии»), вы должны беспокоиться только о специальных символах, когда содержимое поля написал в потенциально «опасный» контекст: код SQL, HTML, JavaScript или даже файлы журналов. Каждый из этих контекстов имеет свои собственные опасности, поэтому «цитирование» варьируется от одного к другому.

Если применить специальные символы фильтрации для HTML, если вы хотите показать комментарии к пользователю, то, что преобразование «<» в &gt; именно то, что вы хотите. Когда браузер анализирует текст комментария как часть вашей HTML-страницы, &gt; будет преобразован в глиф «<» на экране.

Если выполнить преобразование, когда вы прочитать комментарий и, когда вы пишете, вы будете в конечном итоге с двойной кодировки ошибка: «&» характер в &gt; будет сама трансформироваться в &amp;. Поэтому браузер увидит строку &amp;gt;, которая заставит ее отображать на экране &gt;.

+0

спасибо ... это очень помогло мне. :-) – csstener

Смежные вопросы