我试图在 Joomla 2.5 中将 HTML 文本安全地保存到数据库中,所以我使用 JInput 来获取表单数据。
根据developer.joomla.org,有 HTML 过滤器:
HTML - 返回包含完整 HTML 实体和标签的字符串,受过滤器中的白名单或黑名单的约束。
根据docs.joomla.org,这些过滤器应该(在逻辑上。它们没有在那里解释)传递 HTML 标签:
RAW、HTML、SAFE_HTML
在 JInput 用于过滤的代码JFilterInput::clean中,没有 SAFE_HTML 过滤器。我不知道它在一个文档中做了什么以及为什么另一个文档中缺少 RAW 过滤器。除此之外,所有这些过滤器都会剥离 HTML 标签。
只需 $_POST:
$_POST['shortDescription'];
返回
<b>Hello <i>world</i></b>
当我使用 JInput 时:
$input->get('shortDescription', '', 'RAW');
$input->get('shortDescription', '', 'HTML');
$input->get('shortDescription', '', 'SAFE_HTML');
所有的回报只是
Hello world
没有 HTML 标签。那是为了什么?当我需要安全存储 HTML 时如何使用它?