-1

我有以下代码 CHtml::encode($model->item);

在控制器中,我正在操作 $model->item 添加空间,  就像这样

foreach($many_items as $key => $value){
  $model->item .= $value;
  $model->item .= ' ';
}

现在,在视野中,我看到 了, 即使我只想看到一个空间。有人对此有解决方案吗?

谢谢你。

4

2 回答 2

1

如果它只是显示在视图中的标签或文本,则不应对其进行编码。查看示例代码以了解发生了什么

$abc = "<span>1</span>&nbsp;<span>2</span>";
echo CHtml::encode($abc);
echo $abc;

输出

<span>1</span>&nbsp;<span>2</span> <!-- encoded -->
1 2 // <!--  just print out directly when you put it on the label or print out HTML code -->
于 2013-08-01T02:05:29.637 回答
0

当您将某些内容编码为 html 时,特殊字符将转换为 HTML。例如:

echo CHtml::encode('"'); // outputs &quot;

您需要的既不是解码也不是编码;只需坚持   字符串末尾的字符,它应该可以工作。

然而,作为最佳实践和代码可读性的一种形式,我建议您将这部分从控制器中删除,并将其放入小部件中。这将帮助您:

  • 将演示与代码分开
  • 拥有更薄的控制器,这意味着您的代码更具可测试性和可读性
于 2013-08-01T04:45:39.137 回答