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
PHP实现用户认证及管理完全源码
Mar 11 PHP
PHP 日常开发小技巧
Sep 23 PHP
PHP Session变量不能传送到下一页的解决方法
Nov 27 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 PHP
php实现简单文件下载的方法
Jan 30 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
php如何执行非缓冲查询API
Jul 22 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
Jun 21 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 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
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
初识ThinkPHP控制器
2016/04/07 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
JavaScript 程序编码规范
2010/11/23 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
three.js实现圆柱体
2018/12/30 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
python构建深度神经网络(续)
2018/03/10 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
Python循环结构的应用场景详解
2019/07/11 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
python 操作hive pyhs2方式
2019/12/21 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
python 字符串格式化的示例
2020/09/21 Python
中学生自我鉴定
2014/02/04 职场文书
学生操行评语大全
2014/04/24 职场文书
演讲稿格式范文
2014/05/19 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
2014年维稳工作总结
2014/11/18 职场文书