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技术
Jan 04 PHP
PHP ajax 分页类代码
Nov 13 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
php实现获取及设置用户访问页面语言类
Sep 24 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
浅谈php://filter的妙用
Mar 05 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
PHP数组基本用法与知识点总结
Jun 02 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 Xdebug的安装与使用详解
2013/06/20 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
2020/06/24 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
Python脚本实时处理log文件的方法
2016/11/21 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
介绍一下常见的木马种类
2014/11/15 面试题
考博专家推荐信模板
2013/12/02 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
售房协议书
2014/08/19 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
Python打包为exe详细教程
2021/05/18 Python
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python