这对我来说是一个奇怪的问题。当我在英语网站上使用时, html_entity_decode 工作正常,但是当我更改语言时,功能有点不起作用 - 可以看到HTML标签。
我使用trim(htmlentities($this->input->post('page_srb')))
插入数据库,<?php echo html_entity_decode($page->page) ?>
显示页面。什么似乎有问题?
这是我使用英语时的页面样本(目前我正在使用相同的文字)
当我改为塞尔维亚语时,这是与页面相同的样本:
答案 0 :(得分:2)
永远不要混淆视图和存储功能,这是不好的做法,我花了几年的时间在开发机构中强迫我的同行。
使用正确的排序规则(utf-8?)将HTML存储在数据库中,然后在您不希望输出有效的HTML以供浏览器呈现时使用html_entities_encode(即默认情况下,数据库中出现的任何内容都将是浏览器将呈现的未转义/未转码。
通过这样做,它可以实现明确的分离和指导。经典的例子是“如果有人直接在数据库中编辑您的文本会怎样?”,您可能会说从未发生过,但在某些时候可能会发生,或者有人可能会通过另一种不编码的表单将数据插入到该表中数据
定义一些编程规则并遵循它们。如果您插入数据,那么专注于保护商店,如果输出,则专注于保护客户端。从长远来看,一致性将得到回报。