如何简单地在codeigniter中在我的控制器中编写一大块html代码?

时间:2015-01-17 09:59:37

标签: php html codeigniter

我有600行HTML代码,其中包含php代码。如果某些条件成真,我想打印此HTML代码。那我怎么能在我的控制器中完成这个呢? 我在php中读过HEREDOC,但它没有用。 有没有可以轻松打印HTML代码的codeigniter或php函数? 请帮忙。

实际上我正在使用Ajax,而且我使用Ajax发布HTML表单,因此作为codeigniter的方法,我的Ajax发布请求重定向到我的控制器,并且此控制器检查此发布数据,如果发布数据是要求然后我想显示一些HTML代码行而不刷新或重新加载我的视图或我们可以说网页。那么如何在不面对如此多的字符串操作和引用的情况下使用控制器轻松回显我的HTML代码呢?

2 个答案:

答案 0 :(得分:0)

Codeigniter Template Parser Class

blog_template

<html>
<head>
<title>{blog_title}</title>
</head>
<body>

<h3>{blog_heading}</h3>

{blog_entries}
<h5>{title}</h5>
<p>{body}</p>
{/blog_entries}
</body>
</html>

代码:

$this->load->library('parser');

$data = array(
            'blog_title' => 'My Blog Title',
            'blog_heading' => 'My Blog Heading'
            );

$this->parser->parse('blog_template', $data);

答案 1 :(得分:0)

通过在加载视图时将第二个参数设置为true,可以获取视图的html。

Ajax:

var post_array =
    {
        "foo" : "bar"
    }
//We suppose a controller named Ajax
$.post(siteUrl + "/Ajax/my_function", post_array,
function(data)
{
   $('#content').text(data);
});

控制器:

public function my_function()
{
    $data["foo"] = $this->input->post("foo");

    //...some code here...

    echo $this->load_view("my_view", $data, true);
}