I have created a library and a function defined for trim and show half character:
class Strlen_trim {
function trim_text($input, $length, $ellipses = true, $strip_html = true) {
//strip tags, if desired
if ($strip_html) {
$input = strip_tags($input);
}
//no need to trim, already shorter than trim length
if (strlen($input) <= $length) {
return $input;
}
//find last space within length
$last_space = strrpos(substr($input, 0, $length), ' ');
$trimmed_text = substr($input, 0, $last_space);
//add ellipses (...)
if ($ellipses) {
$trimmed_text .= '...';
}
return $trimmed_text;
}
}
controller side
$this->load->library('Strlen_trim');
$this->Strlen_trim->trim_text();
view side
<?php echo trim_text($widgets['content'],15); ?>
On view side your calling function directly that is the error.
You can do it like this.
Way 1:
Controller Side:
$this->load->library('Strlen_trim'); $data = array(); $data['widget_content'] = $this->Strlen_trim->trim_text($widgets['content'],15); $this->load->view('view_name',$data);
View Side:
<?php echo $widget_content; ?>
Way 2:
Controller Side:
$this->load->library('Strlen_trim');
View Side:
<?php echo $this->Strlen_trim->trim_text($widgets['content'],15); ?>
I would suggest use CI inbuilt text
helper instead of creating custom library for that ,
Load text
helper in your autoload.php
like this :
$autoload['helper'] = array('text');
In your view use character_limiter
or word_limiter
, whatever u want like this:
// with character_limiter()
<?php echo character_limiter($widgets['content'],15); ?>
// with word_limiter()
<?php echo word_limiter($widgets['content'],5); ?>
For more : https://www.codeigniter.com/user_guide/helpers/text_helper.html#word_limiter