【问题标题】:CakePHP: How to prevent HtmlHelper from escaping HTML tags inside label parameterCakePHP:如何防止 HtmlHelper 在标签参数中转义 HTML 标签
【发布时间】:2013-07-22 19:13:25
【问题描述】:

我正在尝试使用 HtmlHelper 生成帖子链接。这是一个删除链接/按钮,但我想在第一个参数(标签)中使用 HTML。像这样的:

echo $this->Form->postLink(
            '<i>A&nbsp;Title</i>',
            array('action' => 'delete', $project['Project']['hashed_id']),
            array('confirm' => 'Are you sure?'));

不幸的是,它只是打印所有标记而不是渲染它,所以 this 就是输出:&lt;i&gt;A&amp;nbsp;Title&lt;/i&gt; 而不是:A Title

我知道我可以手动编写它,但 postLink 会创建我想要保留的随机数和其他魔法。有什么想法可以欺骗 CakePHP 做我想做的事吗?

【问题讨论】:

    标签: php html cakephp cakephp-2.0 cakephp-2.1


    【解决方案1】:

    试试这个

    echo $this->Form->postLink(
                '<i>A&nbsp;Title</i>',
                array('action' => 'delete', $project['Project']['hashed_id']),
                array('escape'=>false),
                'Are you sure?');
    

    根据the docs,第三个参数是一个选项数组,可以和HtmlHelper::link有相同的参数。 that one 有一个选项

    escape:设置为 false 以禁用标题和属性的转义。

    哦,也可以这样

    echo $this->Form->postLink(
                '<i>A&nbsp;Title</i>',
                array('action' => 'delete', $project['Project']['hashed_id']),
                array('confirm'=>'Are you sure?', 'escape'=>false));
    

    以同样的方式工作。

    【讨论】:

    • 你又成功了,Nunser!我在 postLink() 的文档中准确地挖掘了这一点,但没想到要检查 Link()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2010-12-30
    相关资源
    最近更新 更多