Cakephp Добавление стиля в h ($ product ['Product'] ['name']);

Я хочу добавить стиль к этому коду:

<?php echo h($product['Product']['name']); ?>

Я пытаюсь сказать так:

<?php echo h($product['Product']['name'], array('style' => 'font-weight:bold;')); ?>

Но он дает мне это сообщение об ошибке:

Предупреждение (2): htmlspecialchars () ожидает, что параметр 4 будет логическим, задан массив [CORE \ Cake \ basics.php, строка 199]

может кто-нибудь подскажет мне, как правильно добавить стиль к этой строке.

Спасибо.


person batrisya    schedule 10.10.2013    source источник


Ответы (2)


Функция h () - это удобная обертка для htmlspecialchars () в cakephp. Он преобразует специальные символы в объекты HTML. Итак, вы получаете предупреждение.

Синтаксис этой функции - h (строка $ text, логическое $ double = true, строка $ charset = null)

Чтобы стилизовать свой код, вы можете использовать это в качестве альтернативы

<?php
echo $this->Html->tag('span', $product['Product']['name'], array('style' => 'font-weight:bold;'));
?>
// Output
<span style="font-weight:bold;">Your Product Name</span>
person Ravi Thakkar    schedule 10.10.2013
comment
Тем не менее, таким образом он не сбегает из / xss-protect! - person mark; 10.10.2013

простой способ:

<b><?php echo h($product['Product']['name']); ?></b>
person batrisya    schedule 17.10.2013