Joomla框架实现字符串截取的方法示例


Posted in PHP onJuly 18, 2017

本文实例讲述了Joomla框架实现字符串截取的方法。分享给大家供大家参考,具体如下:

在用joomla进行开发的时候,需要用到国外的资源,一些module,组件,插件之类的,但是我们会发现,在字符串这个方法都需要进行修改。因为PHP的substr方法只是针对于非中文字符串有效,所以要使用另外一种简便容易的方法mb_substr,这样就能轻松解决截取字符的问题。

同时如果需要针对中文,英文,中英文混合排列三种方式(标点符号除外)进行截取字符串,那么正则表达式就派上用场了,附上源码,仅供参考。

/*截取字符串方法*/
//$str字符串
//$number为最大长度
function cutStrTitle($str, $number){
  $str = strip_tags($str);
  $en=preg_match('/^[a-zA-Z]/', $str);//匹配英文字母
  $cn=preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u",$str,$arrc);//匹配汉字,统计个数,返回给$arrc
  if(mb_strlen($str,'UTF8')<= $number){//'UTF8'跟据字符串的格式调整
    return $str;
  }
  else{
    if($en)
    {
      if($cn){
        //中英文混合情况下
        return mb_substr($str,0,$number+2,'utf-8').'...';
      }
      else{
        //全为英文情况下
        return mb_substr($str,0,$number+4,'utf-8').'...';
      }
    }
    else {
      //全为中文情况下
      return mb_substr($str,0,$number,'utf-8').'...';
    }
  }
}

更多PHP框架相关内容感兴趣的读者可查看本站专题:《php优秀开发框架总结》、《ThinkPHP入门教程》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家PHP框架程序设计有所帮助。

PHP 相关文章推荐
编译问题
Oct 09 PHP
全文搜索和替换
Oct 09 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
php中引用符号(&amp;)的使用详细介绍
Dec 06 PHP
PHP编程计算日期间隔天数的方法
Apr 26 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 #PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 #PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 #PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 #PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 #PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 #PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 #PHP
You might like
基于php常用正则表达式的整理汇总
2013/06/08 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
python实现五子棋程序
2020/04/24 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
某个公司的Java笔面试题
2016/03/11 面试题
电子商务专业求职信
2014/03/08 职场文书
幼儿教师培训感言
2014/03/08 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
妇女工作先进事迹
2014/08/17 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
党支部半年考察意见
2015/06/01 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
聊聊redis-dump工具安装问题
2022/01/18 Redis
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA