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 相关文章推荐
PHP 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
php中文本操作的类
Mar 17 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
PHP 字符串 小常识
Jun 05 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
PHP实现多级分类生成树的方法示例
Feb 07 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
May 20 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
php生成图片验证码的实例讲解
2015/08/03 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
微信小程序 video详解及简单实例
2017/01/16 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
详解vue 组件
2020/06/11 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
python实现类之间的方法互相调用
2018/04/29 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python实现公司年会抽奖程序
2019/01/22 Python
树莓派实现移动拍照
2019/06/22 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
材料物理专业个人求职信
2013/12/15 职场文书
心得体会怎么写
2013/12/30 职场文书
银行类自荐信
2014/02/04 职场文书
阳光体育活动总结
2014/04/30 职场文书