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执行速度全攻略(下)
Oct 09 PHP
PHP中的CMS的涵义
Mar 11 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
PHP对象递归引用造成内存泄漏分析
Aug 28 PHP
Yii清理缓存的方法
Jan 06 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
form自动提交实例讲解
Jul 10 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
laravel利用中间件做防非法登录和权限控制示例
Oct 21 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
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
浅谈JS中的bind方法与函数柯里化
2016/08/10 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
小程序实现上传视频功能
2020/08/18 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
Python面向对象之Web静态服务器
2019/09/03 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
骨干教师培训制度
2014/01/13 职场文书
通信生自我鉴定
2014/01/18 职场文书
手机被没收检讨书
2014/02/22 职场文书
运动会演讲稿50字
2014/08/25 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
python tkinter模块的简单使用
2021/04/07 Python
Python类方法总结讲解
2021/07/26 Python
宝塔更新Python及Flask项目的部署
2022/04/11 Python