PHPIN.NET

 找回密码
 立即注册
查看: 4938|回复: 0

[技巧手记] 截取字符串方法

[复制链接]

469

主题

31

回帖

5497

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5497
发表于 2014-12-19 17:38:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
截取字符串方法

1.先建立一个文件 Helper.php,内容如下:
  1. <?php
  2. class Helper extends CController
  3. {
  4.    public static function truncate_utf8_string($string, $length, $etc = '...')
  5.    {
  6.        $result = '';
  7.        $string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
  8.        $strlen = strlen($string);
  9.        for ($i = 0; (($i < $strlen) && ($length > 0)); $i++)
  10.        {
  11.        if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))
  12.            {
  13.            if ($length < 1.0)
  14.                {
  15.            break;
  16.            }
  17.            $result .= substr($string, $i, $number);
  18.            $length -= 1.0;
  19.            $i += $number - 1;
  20.        }
  21.            else
  22.            {
  23.            $result .= substr($string, $i, 1);
  24.            $length -= 0.5;
  25.        }
  26.        }
  27.        $result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
  28.        if ($i < $strlen)
  29.        {
  30.        $result .= $etc;
  31.        }
  32.        return $result;
  33.    }
  34. }
  35. ?>
复制代码

2.将Helper.php放进protected\components文件夹下,这个函数truncate_utf8_string($string, $length, $etc = '...')的3个参数很容易看出来。
使用方法:
  1. Helper::truncate_utf8_string($content,20,false);   //不显示省略号
  2.    Helper::truncate_utf8_string($content,20);  //显示省略号
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-3-29 03:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表