php截取字符串函数分享


Posted in PHP onFebruary 02, 2015

经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数。

/**

     * 方法库-截取字符串-【该函数作者未知】

     * @param string  $string 字符串  

     * @param int     $length 字符长度

     * @param string  $dot    截取后是否添加...

     * @param string  $charset编码

     * @return string

     */

    public function cutstr($string, $length, $dot = ' ...', $charset = 'utf-8') {

        if (strlen($string) <= $length) {

            return $string;

        }

        $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);

        $strcut = '';

        if (strtolower($charset) == 'utf-8') {

            $n = $tn = $noc = 0;

            while ($n < strlen($string)) {

                $t = ord($string[$n]);                //ASCIIֵ

                if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {

                    $tn = 1; $n++; $noc++;

                } elseif (194 <= $t && $t <= 223) {

                    $tn = 2; $n += 2; $noc += 2;

                } elseif (224 <= $t && $t < 239) {

                    $tn = 3; $n += 3; $noc += 2;

                } elseif (240 <= $t && $t <= 247) {

                    $tn = 4; $n += 4; $noc += 2;

                } elseif (248 <= $t && $t <= 251) {

                    $tn = 5; $n += 5; $noc += 2;

                } elseif ($t == 252 || $t == 253) {

                    $tn = 6; $n += 6; $noc += 2;

                } else {

                    $n++;

                }

                if($noc >= $length) {

                    break;

                }

            }

            if ($noc > $length) {

                $n -= $tn;

            }

            $strcut = substr($string, 0, $n);

        } else {

            for ($i = 0; $i < $length; $i++) {

                $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];

            }

        }

        $strcut = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $strcut);

        return $strcut.$dot;

    }

以上就是本文的全部内容,希望大家能够喜欢。

PHP 相关文章推荐
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
8个PHP程序员常用的功能汇总
Dec 18 PHP
PHP中JSON的应用技巧
Oct 10 PHP
php获取当前页面完整URL地址
Dec 30 PHP
PHP身份证校验码计算方法
Aug 10 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
TP5多入口设置实例讲解
Dec 15 PHP
php计算2个日期的差值函数分享
Feb 02 #PHP
php获取当月最后一天函数分享
Feb 02 #PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 #PHP
php递归创建目录的方法
Feb 02 #PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 #PHP
PHP中开启gzip压缩的2种方法
Jan 31 #PHP
PHP调试函数和日志记录函数分享
Jan 31 #PHP
You might like
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
收音机指标测试方法及仪器
2021/03/01 无线电
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
js格式化时间小结
2014/11/03 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
Python 文件操作实现代码
2009/10/07 Python
跟老齐学Python之编写类之二方法
2014/10/11 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
pandas中ix的使用详细讲解
2020/03/09 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
事务机电主管工作职责
2014/02/25 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
怎样写辞职信
2015/02/27 职场文书
php字符串倒叙
2021/04/01 PHP
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
app场景下uniapp的扫码记录
2022/07/23 Java/Android