现在我正在使用html_entity_decode:
在我的视图中显示HTML<strong>Body:</strong>
<?php echo html_entity_decode($post->body); ?></p>
但是,当我将数据传递给我的视图时,还有另一种方法:
public function action_view($id = null)
{
$data['post'] = Model_Post::find($id);
is_null($id) and Response::redirect('Post');
$this->template->title = "Post";
$this->template->content = View::forge('post/view', $data);
}
我阅读了文档并尝试了:
public function action_view($id = null)
{
$data['post'] = Model_Post::find($id);
is_null($id) and Response::redirect('Post');
$this->template->title = "Post";
$this->template->content = View::forge('post/view', $data);
View::$auto_encode = false;
}
但这只是给了我一个“访问未声明的静态属性”。显然我做错了......
答案 0 :(得分:3)
我可以看到你没有正确设置auto_encode。
试试这个,看看它是不是你想要的。
public function action_view($id = null)
{
$view = View::forge('post/view');
is_null($id) and Response::redirect('Post');
$post = Model_Post::find($id);
$view->set('post', $post, false); //Here the auto_encode is set to false
$this->template->title = "Post";
$this->template->content = $view;
}
希望这有帮助
答案 1 :(得分:1)
有很多方法可以做到这一点:
protected $this->auto_encode = false;
控制器中的该属性将停止编码所有指定的值。
否则,请使用:
$this->template->set('title', "Post", false);
$this->template->set('content', $view, false);
这将停止编码的特定值。