как показать реальные теги из кода htmlspecialchars_decode? - PullRequest
1 голос
/ 25 января 2011

Я создаю cms в php, используя Zend Framework, где я решил сохранить в некоторых частях HTML-шаблоны, чтобы упростить редизайн представлений и все. Теперь, чтобы сохранить эти шаблоны (представления, боковые панели), я должен был использовать Zend_Filter_Inputс Zend_Filter_HtmlEntities(array('quotestyle' => ENT_QUOTES)

одной из причин является безопасность, вторая заключается в том, что я использую freeRTE для вывода шаблона для редактирования, и что freeRTE очень чувствителен к quotes, поэтому мне пришлось что-то делать.

Теперь я тороплюсь, потому что когда я пытаюсь вывести шаблон обратно или показать его в публичном виде в худшем виде, он показывает необработанный HTML-код с тегами, html_entity_decode и htmlspecialchars_decode не могут ничего сделать. Например, вместо показаИзображение это показывает следующее на странице:

<div id="welcome"> <div id="welcome_img"><img src="/images/welcome.jpg" alt="welcome" /></div></div>

Любая подсказка?Если кто-то испытал это, пожалуйста, поделитесь знаниями об этом. Спасибо за чтение.

1 Ответ

1 голос
/ 25 января 2011

Вы не можете использовать htmlentities для фильтрации при сохранении HTML. Он заменит <,> и & плюс все заменяемые символы.

Edit: Удалите фильтр HTMLEntities из сохранения, потому что сохранение HTML как есть было бы главной задачей редактора шаблонов.

Если вы хотите добавить некоторые функции, связанные с безопасностью, удалите теги из HTML и все другие HTML-теги, которые вы считаете вредными! (Врезать?)

...