php - Joomla 3 - 如果类别标题包含&符号,则类别链接中断&

标签 php html escaping joomla3.0

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

我遇到的问题是,如果将一个符号 (&) 放入类别的标题中,则不会显示该特定类别过滤器。

是否有一种方法可以转义或允许显示符号 (&) 而不会破坏该特定类别的过滤器?

代码:

<?php
defined('_JEXEC') or die;

JHtml::_('bootstrap.tooltip');

if (count($this->children[$this->category->id]) > 0 && $this->maxLevel != 0) : ?>

    <?php foreach ($this->children[$this->category->id] as $id => $child) : ?>
        <?php if ($this->params->get('show_empty_categories') || $child->numitems || count($child->getChildren())) : ?>

            <?php $data_name = $this->escape($child->title); ?>
            <?php $data_option = str_replace(' ', '', $data_name); ?>

            <li class="btn btn-primary"><a href="#" data-option-value=".<?php echo $data_option; ?>"><?php echo $this->escape($child->title); ?></a></li>

            <?php if (count($child->getChildren()) > 0) : ?>

                <?php
                $this->children[$child->id] = $child->getChildren();
                $this->category = $child;
                $this->maxLevel--;
                if ($this->maxLevel != 0) :
                    echo $this->loadTemplate('children');
                endif;
                $this->category = $child->getParent();
                $this->maxLevel++;
                ?>

            <?php endif; ?>

        <?php endif; ?>
    <?php endforeach; ?>

<?php endif;

这是根据类别标题创建过滤器的特定行:

<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); ?>

看看是否能解决问题。

关于php - Joomla 3 - 如果类别标题包含&符号,则类别链接中断&,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27124132/

相关文章:

iphone - Objective C HTML 转义/取消转义

PHP file_get_contents 错误 503

php - 如果我多次请求<在此处插入热门网站>是否会限制我访问他们的网站?

html - 如何去除打印 CSS3 时的溢出

javascript - 从 iFrame 调用父 JavaScript 函数的 HTML5 方式——除了使用 postMessage 之外?或 PhoneGap 应用程序的解决方案?

javascript - Javascript 生成的字符串中的双引号问题

php - 为此我需要某种缓存机制吗?

php - 在多个子域之间共享 SESSION 变量

javascript - 如果从颜色类型输入回退,如何设置光谱 js 的选项?

javascript - 转义 Qualtrics 管道文本以在 javascript 中使用(更一般地说,如何安全地转义用户生成的文本)