这是我的控制器,它将从某个模型函数中获取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 吗?或者我必须在我的控制器中将其截断并将其传递给视图?
答案 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