如何在codeigniter视图

时间:2016-01-13 16:14:01

标签: php codeigniter

这是我的控制器,它将从某个模型函数中获取url信息并将其传递给我的视图。

class MyController extends CI_Controller{

    public function __construct()
    {
        parent::__construct();

        //load the settings model
        //some model

        //load the text helper
        $this->load->helper('text');
    }

    public function index()
    {

        //call the model function to get the Url data
        $data['urllist'] = //call the model function and get the array and store it to urllist; 

        //load the view
        $this->load->view("myview",$data);

    }
}

我的观点是

    <body>
        <?php

            /*
                //$longurl is an array element and its value is 
                some thing like 
                http://example.com/sdsds/sdsdsd/sdsdsdsd/sdsdsd/sdsdsd

                 i want to truncate it about 20 characters
            */
            $lurl=character_limiter($longurl, 20);
            echo $lurl; 

        ?>
    </body>

但它显示完整的网址。我可以在视图中使用 character_limiter 吗?或者我必须在我的控制器中将其截断并将其传递给视图?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您必须使用文本助手

中的ellipsize()函数
  

此函数将从字符串中剥离标记,将其拆分为定义的最大长度,并插入省略号。

     

第一个参数是ellipsize的字符串,第二个是   最终字符串中的字符数。第三个参数是在哪里   在字符串中,省略号应从0到1出现,从左到右。   例如。值为1会将省略号放在右侧   字符串,.5在中间,0在左边。

     

可选的第四个参数是省略号的种类。默认情况下,   ......将被插入。

$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';

echo ellipsize($str, 32, .5);

产地:

this_string_is_e…ak_my_design.jpg

ellislab.com official documentation