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 相关文章推荐
smarty静态实验表明,网络上是错的~呵呵
Nov 25 PHP
坏狼php学习 计数器实例代码
Jun 15 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
PHP 错误之引号中使用变量
May 04 PHP
PHP 基本语法格式
Dec 15 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
PHP CURL中传递cookie的方法步骤
May 09 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 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
PHP6 先修班 JSON实例代码
2008/08/23 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
javascript 特殊字符串
2009/02/25 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
简单谈谈python中的Queue与多进程
2016/08/25 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python保存文件方法小结
2018/07/27 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Django URL参数Template反向解析
2020/11/24 Python
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
实习自我鉴定模板
2013/09/28 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
企业申诉管理制度
2014/01/30 职场文书
班干部演讲稿
2014/04/24 职场文书
质量承诺书格式
2014/05/20 职场文书
财务管理专业求职信
2014/06/11 职场文书
社会发展项目建议书
2014/08/25 职场文书
防火标语大全
2014/10/06 职场文书
2014年话务员工作总结
2014/11/19 职场文书
2015年组织部工作总结
2015/04/03 职场文书
高三化学教学反思
2016/02/22 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android