`
dcj3sjt126com
  • 浏览: 1871606 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Yii系列总结:截取字符串方法

    博客分类:
  • YII
yii 
阅读更多

1.先建立一个文件 Helper.php,内容如下:

--------------------------------------------------------------------------

<?php
class Helper extends CController
{
   public static function truncate_utf8_string($string, $length, $etc = '...')
   {
       $result = '';
       $string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
       $strlen = strlen($string);
       for ($i = 0; (($i < $strlen) && ($length > 0)); $i++)
       {
       if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))
           {
           if ($length < 1.0)
               {
           break;
           }
           $result .= substr($string, $i, $number);
           $length -= 1.0;
           $i += $number - 1;
       }
           else
           {
           $result .= substr($string, $i, 1);
           $length -= 0.5;
       }
       }
       $result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
       if ($i < $strlen)
       {
       $result .= $etc;
       }
       return $result;
   }
}
   ?>

--------------------------------------------------------------------------

2.将Helper.php放进protected\components文件夹下。
这个函数truncate_utf8_string($string, $length, $etc = '...')的3个参数很容易看出来。

 

-----------------------------------------------------------------------------------

使用方法:

   Helper::truncate_utf8_string($content,20,false);   //不显示省略号
   Helper::truncate_utf8_string($content,20);  //显示省略号

即:'content'=>array(
           'value'=>'Helper::truncate_utf8_string($data->content,40,false)',
       ),
举个例子。

<?php $this->widget('zii.widgets.grid.CGridView',array(
   'id'=>'news-grid',
   'dataProvider'=>$dataProvider,
   //'filter'=>$model,
   'columns'=>array(
       'id',
       'title',
       'content'=>array(
           'value'=>'Helper::truncate_utf8_string($data->content,40,false)',),
       'author',
       'create_time',
       'status',
       array(
           'class'=>'CButtonColumn',
       ),
   ),
)); ?>

分享到:
评论

相关推荐

    Yii2框架可逆加密简单实现方法

    - 《php字符串(string)用法总结》 - 《php+mysql数据库操作入门教程》 - 《php常见数据库操作技巧汇总》 理解并熟练掌握这些概念和技术,对于提升你在Yii框架下的开发能力至关重要。通过合理的数据加密策略,可以...

    Yii统计不同类型邮箱数量的方法

    - 字符串操作:`strpos`用于查找特定字符的位置,`substr`用于截取字符串。 - 数组操作:遍历数组并处理元素,使用`foreach`循环。 - PHP内置函数:`array_count_values`用于统计数组中不同值出现的次数。 - 数据库...

    Yii框架使用魔术方法实现跨文件调用功能示例

    `aFacade`类的作用则是在静态方法调用中实现类似的功能,它通过截取当前类名(`get_called_class()`)的最后6个字符,然后加上字符串"Adapter",构造出新的类名,并通过实例化该类来调用其方法。这使得在静态上下...

    PHP 使用技巧集(chm)

    - 字符串操作:掌握字符串的拼接、截取、查找、替换等方法。 - 正则表达式:学习如何使用正则表达式进行复杂文本匹配和处理。 - 数组处理:理解数组的概念,学习数组的创建、遍历、排序和合并操作,以及内置的...

    公司招聘PHP程序员面试题

    - 字符串操作函数:`strlen()`获取长度,`substr()`截取子串,`strpos()`查找子串位置,`str_replace()`替换子串。 - 正则表达式:使用`preg_match()`、`preg_replace()`等进行复杂字符串匹配和替换。 4. PHP数组...

    PHP面试题.rar

    - 字符串操作:连接、查找、替换、截取、大小写转换。 - 正则表达式:用于模式匹配和数据提取。 6. **文件与目录操作**: - 文件读写:fopen、fread、fwrite、fclose。 - 目录操作:mkdir、rmdir、opendir、...

    传智播客PHP面试宝典2013版(上卷基础篇).rar

    1. 字符串操作:介绍字符串的拼接、截取、查找、替换等方法,以及正则表达式的应用。 2. 数组处理:讲解数组的创建、遍历、排序、合并,以及关联数组和多维数组的概念和操作。 三、文件与目录操作 1. 文件系统交互...

    十天学会php,很多公司都需要会php的

    1. 字符串处理:学习字符串的拼接、查找、替换、截取等操作。 2. 正则表达式:理解正则表达式的语法,用于复杂的数据验证和提取。 第五天:文件操作 1. 文件读写:掌握fopen、fread、fwrite、fclose等函数,进行...

    PHP技术手册

    - **字符串处理**:包括字符串连接、查找替换、截取、大小写转换等。 - **数组处理**:支持索引数组和关联数组,有多种数组函数用于操作数组,如array_push、array_pop、array_merge等。 3. **文件系统操作** - ...

    十天学会PHP

    - 字符串处理:学习字符串的拼接、查找、替换、截取等操作,以及正则表达式在PHP中的应用。 - 文件系统操作:了解文件读写、目录操作,以及上传下载文件的实现方法。 【PHP进阶篇】 第五天:面向对象编程 - 类与...

    PHP教程 ppt 例子

    5. **字符串处理**:讲解字符串操作,如字符串的拼接、查找、替换、截取等,以及正则表达式在字符串处理中的应用。 6. **数组操作**:涵盖数组的创建、遍历,数组函数(count、array_push、array_pop、array_merge...

    PHP精华文摘(强烈推荐)

    - 字符串处理:包括连接、截取、查找、替换等操作,以及正则表达式应用。 - 数组处理:使用内置函数(如array_push、array_pop、count等)进行数组操作,以及遍历和排序。 3. **文件系统操作** - 文件读写:...

    PHP精华文摘

    - 字符串处理:包括拼接、查找、替换、截取等操作。 - 数组操作:创建、遍历、排序,以及内置函数如explode(), implode(), array_push(), array_pop()等。 3. **PHP文件与目录操作** - 文件读写:fopen(), fread...

    京东 PHP工程师面试题和答案.doc

    - **选项 D**: `substr` 并非用来截取字符串的长度,而是返回指定位置的子字符串。 ##### 7. 以下的哪一个数据库产品是采用了 pureXML 技术的数据服务器: - **选项**: B - **答案解析**: - **选项 A**: SQL ...

    计算机软件-编程源码-PHP中文使用手册.zip

    3. 字符串处理:介绍字符串的创建、连接、截取、查找替换等操作,以及正则表达式在PHP中的应用。 4. 数组处理:涵盖数组的创建、遍历、合并、排序、搜索和删除等方法,以及多维数组的使用。 三、文件与目录操作 5. ...

    php学习笔记

    - **字符串处理**:包括字符串连接、查找、替换、截取等操作,以及正则表达式用于复杂的数据匹配和处理。 - **数组操作**:掌握数组的创建、遍历、合并、排序等技巧,以及多维数组的使用。 4. **文件与目录操作**...

    PHP完全中文使用手册

    1. **字符串处理**:涵盖字符串的拼接、查找、替换、截取等操作,以及正则表达式在字符串处理中的应用。 2. **数组操作**:讲解索引数组、关联数组的创建、遍历和修改,以及数组函数的使用,如array_push、array_...

    韩顺平老师整理的PHP面试题大全(含答案)

    2. PHP字符串操作:熟悉字符串拼接、查找替换、截取等函数,如`concat()`、`strpos()`、`substr()`。 3. PHP数组处理:掌握数组创建、遍历、排序、合并、分割等方法,如`array_push()`、`foreach`、`array_merge()`...

    PHP011G01_php_

    3. **字符串处理**:PHP提供了丰富的字符串操作函数,如`strlen()`计算长度,`strpos()`查找子串,`substr()`截取字符串,`str_replace()`替换子串等。 4. **数组操作**:PHP支持索引数组和关联数组,常用数组函数...

    PHP开发从入门到精通_php_

    - **字符串操作**:包括字符串连接、查找、替换、截取、大小写转换等功能,如str_replace()、strpos()、substr()等函数。 - **数组操作**:PHP支持索引数组和关联数组,常用数组函数有array()、count()、foreach...

Global site tag (gtag.js) - Google Analytics