Php Joomla 3-如果类别标题包含符号和&;

Php Joomla 3-如果类别标题包含符号和&;,php,html,escaping,joomla3.0,Php,Html,Escaping,Joomla3.0,我有Joomla v3.x.x模板覆盖,它创建了带有一些类别过滤器的同位素布局 我的问题是,如果在类别的标题中添加了一个符号(&),那么特定的类别过滤器将不会显示 这是一种逃避或允许符号(&)显示且不破坏该特定类别的过滤器的方法吗 代码: 问题很可能与“选择过滤器”的渲染有关。尝试更改以下行: <?php $data_name = $this->escape($child->title); ?> 致: 然后看看这是否解决了问题。在将类别名称放入数据库之前,应

我有Joomla v3.x.x模板覆盖,它创建了带有一些类别过滤器的同位素布局

我的问题是,如果在类别的标题中添加了一个符号(&),那么特定的类别过滤器将不会显示

这是一种逃避或允许符号(&)显示且不破坏该特定类别的过滤器的方法吗

代码:



  • 问题很可能与“选择过滤器”的渲染有关。尝试更改以下行:

    <?php $data_name = $this->escape($child->title); ?>
    
    
    
    致:

    
    

    然后看看这是否解决了问题。

    在将类别名称放入数据库之前,应该对其进行消毒。您是否检查了category take条目以查看&是如何保存在DB中的。在运行htmlspecialchars_decode()或运行您正在通过htmlspecialchars()进行比较的内容后,尝试比较类别名称。谢谢Brian-在获取标题时,有没有办法在上面的代码中做到这一点?
    <li class="btn btn-primary"><a href="#" data-option-value=".<?php echo $data_option; ?>"><?php echo $this->escape($child->title); ?></a></li>
    
    <?php $data_name = $this->escape($child->title); ?>
    
    <?php $data_name = htmlspecialchars($child->title); ?>